Exibindo informações do
sistema II
Já mostramos como usar algumas funções para exibir informações sobre o sistema. Vamos mostrar uma outra forma de resolver o mesmo problema. Nela você não vai precisar codificar função alguma. Vai usar o programa Msinfo32.exe/Msinfo.exe da Microsoft que faz o mesmo serviço e de graça .(Bem ... quase de graça...)
Vamos criar um formulário com um botão que quando clicado ativará o programa Msinfo32.exe/Msinfo.exe . Só tem um problema , nem sempre o arquivo Msinfo32.exe/Msinfo.exe está presente na máquina do usuário. Seu trabalho será verificar se o arquivo esta presente e se estiver o botão de comando que ativa o programa será habilitado , caso contrário permanecerá invisível.
|
Vamos ao código explicado seção por seção :
'---------------------------------------------------------------- ' frmsobre - Demonstra como utilizar um componente do sistema ' verificando sua existencia '---------------------------------------------------------------- Option Explicit Private WinDir As String #If Win32 Then Const SYSINFO = "msinfo32.exe" Private Declare Function GetWindowsDirectory& Lib "Kernel32" _ Alias "GetWindowsDirectoryA" (ByVal buffer$, ByVal bufLen&) #Else Const SYSINFO = "msinfo.exe" Private Declare Function GetWindowsDirectory% Lib "Kernel" _ (ByVal buffer$, ByVal bufLen%) #End If |
' '---------------------------------------------------------------- ' Carrega o form e verifica se habilita o botão para acionar as ' informacoes. '---------------------------------------------------------------- Private Sub Form_Load() 'atribui o icone do formulario ao controle image img.Picture = Me.Icon ' centraliza o formulario Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2 'No VB6 é dispensável ' obtem o diretorio do windows WinDir = Space(2048) WinDir = Left(WinDir, GetWindowsDirectory(WinDir,Len(WinDir))) & "\" 'Se o arquivo msinfo32 existir habilita ou nao o botao cmdSysInfo.Visible = FileExists(WinDir & SYSINFO) End Sub |
' determina se o arquivo existe Private Function FileExists(sFileName As String) As Boolean On Error Resume Next FileExists = IIf(Dir(sFileName) <> "", True, False) End Function |
' Inicia ao programa para obter informacoes do sistema Private Sub cmdSysInfo_Click() Shell WinDir & SYSINFO, vbNormalFocus End Sub |
Private Sub cmdOk_Click() Unload Me End Sub |
Ao executar o seu projeto , se o arquivo Msinfo32.exe/Msinfo.exe for encontrado iremos obter o seguinte: ( o botão informações aparece habilitado)
Quando você clicar no botão Informações ativará o programa que obtêm informações do sistema e irá obter a seguinte tela: (é claro que para você vai ser diferente...)
Para ver a dica anterior clique aqui - Exibindo informações sobre o sistema.
Observe que esta pequena dica aborda alguns tópicos interessantes que você pode usar em seus sistemas.
Até a próxima
dica...