Conhecemos programas como o SiSoft Sandra e HWiNFO32, que nos devolvem informação acerca do computador. Mas por vezes queríamos que devolvesse os resultados de uma outra maneira. Neste exemplo irei demonstrar uma maneira simples de como o AutoIt poderá devolver informação acerca do seu computador.
No AutoIt existem Macros, que são basicamente variáveis especiais, que apenas devolvem informação. E uma boa parte delas devolvem informações do computador. Diferentemente da “simbologia” para identificar uma variável, numa Macro é utilizado o símbolo “@” ao invés de “$”.
Eis aqui a lista de Macros relacionados com as informações do sistema:
- Pastas
- Pastas de definições dos programas
- @AppDataCommonDir - Localização da pasta “Application Data” ou “ProgramData” no Windows Vista
- @AppDataDir - Localização da pasta “Application Data” do utilizador
- @CommonFilesDir - Localização da pasta “Common Files”
- Pastas dos utilizadores
- @UserProfileDir – Localização da pasta do utilizador actual (com a letra do disco)
- @HomePath – Localização da pasta do utilizador actual (sem a letra do disco)
- @DesktopCommonDir - Localização da pasta pública do Ambiente de Trabalho
- @DesktopDir - Localização da pasta do Ambiente de Trabalho, para o utilizador actual
- @MyDocumentsDir – Localização da pasta “Os Meus Documentos” ou “Documentos” do utilizador actual.
- @DocumentsCommonDir - Localização da pasta pública para “Os Meus Documentos” ou “Documentos” no Windows Vista
- @FavoritesCommonDir - Localização da pasta pública “Favoritos”
- @FavoritesDir - Localização da pasta “Favoritos”, para o utilizador actual
- Pasta Programas
- @ProgramFilesDir – Localização da pasta “Programas”
- Menu Iniciar
- @ProgramsDir - Localização da pasta “Programas”, dos atalhos do Menu Iniciar no utilizador actual
- @ProgramsCommonDir – Localização da pasta pública “Programas”, dos atalhos do Menu Iniciar
- @StartMenuDir - Localização da pasta do Menu Iniciar no utilizador actual
- @StartMenuCommonDir – Localização da pasta pública do Menu Iniciar
- Arranque
- @StartupDir – Localização da pasta “Arranque” do utilizador actual (programas que arrancam quando o Windows inicia)
- @StartupCommonDir – Localização da pasta pública “Arranque” (programas que arrancam quando o Windows inicia)
- Windows
- @SystemDir – Localização da pasta “System32” ou “System”
- @TempDir – Localização da pasta de ficheiros temporários “Temp”
- @WindowsDir – Localização da pasta “Windows”
- @HomeDrive – Letra do disco em que está instalado o Windows
- Pastas de definições dos programas
- Sistema:
- Sistema Operativo
- @OSType – Diz qual é o tipo de sistema operativo instalado (ex: WIN32_NT para o Windows NT/2000/XP/2003/Vista/2008/Win7/2008R2)
- @OSVersion – Diz qual o sistema operativo instalado (ex: WIN_7, WIN_2008, WIN_VISTA)
- @OSBuild – Devolve o número da compilação (build) do sistema operativo
- @OSLang – Devolve o código da língua do sistema operativo (veja o apêndice “@OSLang Values” no ficheiro de ajuda para mais informações)
- @OSServicePack – Diz qual é o Service Pack instalado no sistema operativo
- @OSArch – Diz qual é a arquitectura do sistema operativo (32-Bits -> X86)(64-Bit –> X64)
- Rede
- @ComputerName - Nome do computador
- @UserName – Nome do utilizador actual
- @IPAddress1 – Diz qual o IP para a primeira placa de rede (ex: 192.168.1.1)
- @IPAddress2 – Diz o IP para a segunda placa de rede (mostra 0.0.0.0, se não existir nenhuma placa)
- @IPAddress3 - Diz o IP para a terceira placa de rede (mostra 0.0.0.0, se não existir nenhuma placa)
- @IPAddress4 - Diz o IP para a quarta placa de rede (mostra 0.0.0.0, se não existir nenhuma placa)
- Processador
- @CPUArch - Diz qual é a arquitectura do processador (32-Bits –> X86)(64-Bit –> X64)
- Monitor
- @DesktopWidth - Diz qual a largura da resolução do monitor (ex: 1024)
- @DesktopHeight - Diz qual a altura da resolução do monitor (ex: 768)
- @DesktopDepth - Diz qual a profundidade de cor do monitor (ex: 32-bit)
- @DesktopRefresh - Diz qual a taxa de refrescamento do monitor (ex: 60Hz)
- Teclado
- @KBLayout – Devolve o código da língua do teclado (veja o apêndice “@OSLang Values” no ficheiro de ajuda para mais informações)
- Sistema Operativo
Exemplo
MsgBox("", "Informação do Sistema", "Sistema Operativo"&@CRLF&" Tipo OS: "&@OSType&@CRLF&" Versão OS: "&@OSVersion&@CRLF&" Compilação: "&@OSBuild&@CRLF&" Lingua OS: "&@OSLang&@CRLF&" Service Pack: "&@OSServicePack&@CRLF&" Arquitectura OS: "&@OSArch&@CRLF&"Rede"&@CRLF&" Nome PC: "&@ComputerName&@CRLF&" Nome utilizador: "&@UserName&@CRLF&" 1 IP: "&@IPAddress1&@CRLF&" 2 IP: "&@IPAddress2&@CRLF&" 3 IP: "&@IPAddress3&@CRLF&" 4 IP: "&@IPAddress4&@CRLF&"Processador"&@CRLF&" Arquitectura CPU: "&@CPUArch&@CRLF&"Monitor"&@CRLF&" Largura: "&@DesktopWidth&@CRLF&" Altura: "&@DesktopHeight&@CRLF&" Profundidade: "&@DesktopDepth&@CRLF&" Taxa refrescamento: "&@DesktopRefresh&@CRLF&"Teclado"&@CRLF&" Lingua: "&@KBLayout)
MsgBox("", "Informação Pastas", "Pastas de definições dos programas"&@CRLF&" ProgramData: "&@AppDataCommonDir&@CRLF&" Application Data util: "&@AppDataDir&@CRLF&" Common Files: "&@CommonFilesDir&@CRLF&"Pastas dos utilizadores "&@CRLF&" Pasta util actual: "&@UserProfileDir&@CRLF&" Pasta util actual: "&@HomePath&@CRLF&" Pasta pública do Ambiente de Trabalho: "&@DesktopCommonDir&@CRLF&" Pasta Ambiente trabalho util: "&@DesktopDir&@CRLF&" Pasta Documentos util: "&@MyDocumentsDir&@CRLF&" Pasta pública Documentos: "&@DocumentsCommonDir&@CRLF&" Pasta pública Favoritos: "&@FavoritesCommonDir&@CRLF&" Pasta Favoritos util: "&@FavoritesDir&@CRLF&"Pasta Programas"&@CRLF&" Pasta Programas: "&@ProgramFilesDir&@CRLF&"Menu Iniciar"&@CRLF&" Pasta programas Menu: "&@ProgramsDir&@CRLF&" Pasta pública programas Menu: "&@ProgramsCommonDir&@CRLF&" Pasta Menu Iniciar util: "&@StartMenuDir&@CRLF&" Pasta pública Menu Iniciar: "&@StartMenuCommonDir&@CRLF&"Arranque"&@CRLF&" Pasta Arranque util: "&@StartupDir&@CRLF&" Pasta pública Arranque: "&@StartupCommonDir&@CRLF&"Windows"&@CRLF&" Pasta System32: "&@SystemDir&@CRLF&" Pasta Temp: "&@TempDir&@CRLF&" Pasta Windows: "&@WindowsDir&@CRLF&" Letra disco Windows: "&@HomeDrive)
Download Código Fonte | Download Executável
Qualquer dúvida, não hesite! Coloque-a aqui!
To gostando pra carambo do AutoIt, agora faço as coisas com poucos clicks... =]
duvida não tenho nenhuma pq num tenho mto tempo para estudar..mas vamos que vamos... =)
O arquivo de ajuda não funciona, eu clico na lista mas ao lado fica todo branco.
Tem uma coisa interessante... bloquear acesso ou limitar pelo numero de serie do HD. (ATENCAO! É diferente do numero serial da partição, que se pega com um comando simples)\
Parece que usa um API do windows e ainda não consegui funcionar: O meu script serve para pegar o numero de serie e escrever no bloco de notas
com alguns ifs vcs conseguirão usar a mesma funçao para verificar e autorizar o seu script.
run ("notepad")
;~ Send ("Sem título - Bloco de notas", "Edit1", "")
_hdSNchecar()
Func _hdSNchecar()
$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = "localhost"
$Output = ""
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia", "WQL", _
$wbemFlagReturnImmediately + $wbemFlagForwardOnly)
$sn = ""
If IsObj($colItems) Then
For $objItem In $colItems
$Output = $objItem.SerialNumber
if ($Output <> "") Then $sn = $Output
;~ MsgBox (0 , "HD SN" , $sn )
;~ ClipPut ($sn)
WinActivate ("Sem título - Bloco de notas")
Send ($sn & "{ENTER}")
Next
Else
MsgBox(0, "WMI Output", "No WMI Objects Found for class: " & "Win32_PhysicalMedia")
EndIf
;~ Return ($sn)
EndFunc ;==>_hdSNchecar
Func WMIDateStringToDate($dtmDate)
Return (StringMid($dtmDate, 5, 2) & "/" & _
StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
& " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate, 13, 2))
EndFunc ;==>WMIDateStringToDate
Postar um comentário