Moing,
mal wieder ein kleines Problem...
Will mir den Hersteller, Ram und Treiber meiner GraKa anzeigen lassen...
[autoit]
$objWMIService = ObjGet('winmgmts:\\localhost\root\CIMV2')
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_VideoController', 'WQL', 0x30)
For $objItem In $colItems
$strAcceleratorCapabilities = $objItem.AcceleratorCapabilities(0)
$HeGraKa = $objItem.AdapterCompatibility
$BeschGraKa = $objItem.Description
$RamGraKa = round (($objItem.AdapterRAM / 1024 / 1000), 0)
$TrGraKa = $objItem.DriverVersion
Next
Nur leider bringt mir das Progi nur WINvnc Video Hook Driver....
Hat von euch jemand ne Idee?
Hab hier noch den Original Code.
Hier wird die Graka (ab Zeile 300) richtig erkannt...
Zweifel langsam ![]()
Spoiler anzeigen
#include<EditConstants.au3>
#NoTrayIcon
#RequireAdmin
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_compression=4
#AutoIt3Wrapper_res_description=Computer-Info
#AutoIt3Wrapper_res_fileversion=1.8.0.0
#AutoIt3Wrapper_res_legalcopyright=by Oscar (https://autoit.de/www.autoit.de)
#AutoIt3Wrapper_res_language=1031
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
#AutoIt3Wrapper_run_obfuscator=y
#Obfuscator_parameters=/striponly
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <String.au3>
#include <Date.au3>
#include <Inet.au3>
#include <String.au3>
#include <Misc.au3>
Opt('GUIOnEventMode', 1)
[/autoit] [autoit][/autoit] [autoit]Global $Title = 'Computer-Info v1.8 (c) by Oscar (https://autoit.de/www.autoit.de)'
[/autoit] [autoit][/autoit] [autoit]Global $s_MailTo = 'you@yourprovider.de' ; E-Mail-Adresse, an die der Bericht geschickt wird. (anpassen!)
[/autoit] [autoit][/autoit] [autoit]Global $s_MailSubject = 'Computer-Info von ' & @UserName ; Das wird als Betreff verwendet. (evtl. anpassen!)
[/autoit] [autoit][/autoit] [autoit]If (@AutoItVersion < '3.2.12.0') And (Not @Compiled) Then
Global $Msg = 'Dieses Script benötigt min. die AutoIt-Version: 3.2.12.0 ' & @CRLF & @CRLF
$Msg &= 'Gestartet wurde es mit AutoIt-Version: ' & @AutoItVersion
Exit MsgBox(48, $Title, $Msg)
EndIfmach
Global $ret
$ret = DllCall('kernel32.dll', 'int', 'GetLocaleInfo', 'dword', '0x' & @OSLang, 'dword', BitOR(0x2, 0x80000000), 'str', '', 'int', 85)
Global $OSLang = $ret[3]
$ret = DllCall('kernel32.dll', 'int', 'GetLocaleInfo', 'dword', '0x' & @KBLayout, 'dword', BitOR(0x2, 0x80000000), 'str', '', 'int', 85)
Global $KBLayout = $ret[3]
Global $Bin = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'DigitalProductID')
Global $Gui = GUICreate($Title, 600, 480, Default, 5, BitOR($WS_MAXIMIZEBOX, $WS_SIZEBOX))
GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
Global $Edit = GUICtrlCreateEdit(@CRLF & ' Bitte warten...', 5, 5, 585, 400, BitOR($ES_READONLY, $WS_HSCROLL, $WS_VSCROLL))
GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
GUICtrlSetBkColor(-1, 0xffffff)
Global $Send = GUICtrlCreateButton('Bericht senden...', 5, 420, 140, 25)
GUICtrlSetResizing(-1, $GUI_DOCKBOTTOM + $GUI_DOCKSIZE)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetOnEvent(-1, '_Send')
Global $End = GUICtrlCreateButton('Beenden', 510, 420, 80, 25)
GUICtrlSetResizing(-1, $GUI_DOCKBOTTOM + $GUI_DOCKSIZE)
GUICtrlSetState(-1, $GUI_FOCUS)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetOnEvent(-1, '_End')
WinMove($Title, '', Default, Default, 600, @DesktopHeight - 80)
GUISetState()
[/autoit] [autoit][/autoit] [autoit]Global $colItems = '', $Output = '', $objItem
$Output &= $Title & @CRLF & @CRLF
$Output &= 'Heutiges Datum: ' & @TAB & _NowDate() & ' ' & _NowTime() & @CRLF & @CRLF
$Output &= @CRLF &'Betriebssystem' & @CRLF
$Output &= '==============================================================' & @CRLF
Global $objWMIService = ObjGet('winmgmts:\\localhost\root\CIMV2')
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_Desktop')
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_Desktop', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
If StringInStr($objItem.Name, @UserName) Then
$Wallpaper = 'Hintergrundbild: ' & @TAB & _Iif($objItem.Wallpaper <> '', $objItem.Wallpaper, 'Nicht vorhanden') & @CRLF
$ScreenSaver = 'Bildschirmschoner: ' & @TAB & _Iif($objItem.ScreenSaverExecutable <> '', $objItem.ScreenSaverExecutable, 'Nicht vorhanden') & @CRLF & @CRLF
EndIf
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_Desktop' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' nslookup')
RunWait(@ComSpec & " /c " & "nslookup localhost >" & Chr(34) & @TempDir & "\cominfo.txt" & Chr(34), "", @SW_HIDE)
$DNSServer = StringReplace(FileReadLine(@TempDir & "\cominfo.txt", 1), 'Server: ', 'DNS-Server:' & @TAB)
$IPAdress = StringReplace(FileReadLine(@TempDir & "\cominfo.txt", 2), 'Address: ', ' (IP: ')
$DNSServer &= $IPAdress & ')'
FileDelete(@TempDir & "\cominfo.txt")
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_ComputerSystem')
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_ComputerSystem', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$System = 'Computer: ' & @TAB & $objItem.SystemType & @CRLF
$Domain = 'Arbeitsgruppe: ' & @TAB & $objItem.Domain & @CRLF
$StartOpt = 'Start-Optionen:' & @TAB & $objItem.SystemStartupOptions(0) & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_ComputerSystem'
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_OperatingSystem')
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_OperatingSystem', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= $objItem.Caption & ' ('
$Output &= $objItem.CreationClassName & ')' & @CRLF
$Output &= 'inkl. ' & $objItem.CSDVersion & ' ('
$Output &= 'Version: ' & $objItem.Version & ')' & @CRLF & @CRLF
$Output &= 'Sprachversion: ' & @TAB & $OSLang & @CRLF
$Output &= 'Reg. Benutzer: ' & @TAB & $objItem.RegisteredUser & @CRLF
$Output &= 'Produktkey: ' & @TAB & _DecodeProductKey($Bin) & @CRLF & @CRLF ; Funktion _DecodeProductKey() von Xenobiologist (https://autoit.de/www.autoit.de)
$Output &= 'Windows-Ordner: ' & @TAB & $objItem.WindowsDirectory & @CRLF
$Output &= $StartOpt
$Output &= 'Installationsdatum:' & @TAB & _WMIDateStringToDate($objItem.InstallDate) & @CRLF
$Output &= 'Zuletzt gestartet: ' & @TAB & _WMIDateStringToDate($objItem.LastBootUpTime) & @CRLF & @CRLF
$Output &= $Wallpaper
$Output &= $ScreenSaver
$Output &= $System
$Output &= 'Computersystem: ' & @TAB & $objItem.CSCreationClassName & @CRLF
$aMemory = MemGetStats()
$Output &= 'Hauptspeicher ' & @CRLF
$Output &= @TAB & '(Gesamt):' & @TAB & _DisplayMemorySize($aMemory[1]) & @CRLF
$Output &= @TAB & '(Frei):' & @TAB & _DisplayMemorySize($aMemory[2]) & @CRLF
$Output &= 'Auslagerungsdatei ' & @CRLF
$Output &= @TAB & '(Gesamt):' & @TAB & _DisplayMemorySize($aMemory[5]) & @CRLF
$Output &= @TAB & '(Frei):' & @TAB & _DisplayMemorySize($aMemory[6]) & @CRLF & @CRLF
$Output &= @CRLF & 'Netzwerk ' & @CRLF
$Output &= '==============================================================' & @CRLF
$Output &= 'Benutzername: ' & @TAB & @UserName & @CRLF
$Output &= 'Computername: ' & @TAB & $objItem.CSName & ' ('
$Output &= $objItem.Description & ')' & @CRLF
$Output &= $Domain & @CRLF
$IP = _GetIP()
$Output &= 'Internet-IP: ' & @TAB & _Iif($IP <> -1, $IP, 'IP-Test fehlgeschlagen') & @CRLF
$Output &= $DNSServer & @CRLF & @CRLF
$Output &= 'Ping-Zeiten: ' & @CRLF
_PingTime()
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_OperatingSystem' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_UserAccount')
$Output &= @CRLF & 'Benutzerkonten' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_UserAccount', 'WQL', 0x30)
If IsObj($colItems) then
For $objItem In $colItems
If $objItem.Status = 'OK' Then
$Output &= 'Name: ' & @TAB & $objItem.Name & @CRLF
$Output &= 'Beschreibung: ' & @TAB & _Iif($objItem.Description <> '', $objItem.Description, 'nicht vorhanden') & @CRLF
$Output &= 'Passwort benötigt:' & @TAB & _Iif($objItem.PasswordRequired = -1, 'Ja', 'Nein') & @CRLF
$Output &= @TAB & 'änderbar:' & @TAB & _Iif($objItem.PasswordChangeable = -1, 'Ja', 'Nein') & @CRLF
$Output &= @TAB & 'läuft ab:' & @TAB & _Iif($objItem.PasswordExpires = -1, 'Ja', 'Nein') & @CRLF & @CRLF
EndIf
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_UserAccount' & @CRLF & @CRLF
Endif
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_NetworkAdapter')
$Output &= @CRLF & 'Netzwerkadapter' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapter WHERE Netconnectionstatus = 2', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Hersteller: ' & @TAB & $objItem.Manufacturer & @CRLF
$Output &= 'Name: ' & @TAB & $objItem.Name & @CRLF
$Output &= 'Adapter-Typ: ' & @TAB & $objItem.AdapterType & @CRLF
$Output &= 'Kennung: ' & @TAB & $objItem.NetConnectionID & @CRLF
$Output &= 'MAC-Addresse:' & @TAB & $objItem.MACAddress & @CRLF
$colItems2 = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration', 'WQL', 0x30)
If IsObj($colItems2) Then
For $objItem2 In $colItems2
If $objItem.Caption = $objItem2.Caption Then
If $objItem2.IPEnabled = -1 Then
If $objItem2.DHCPEnabled = -1 Then
$Output &= 'Adresstyp: ' & @TAB & 'von DHCP zugewiesen' & @CRLF
$Output &= 'DHCP-Server: ' & @TAB & $objItem2.DHCPServer & @CRLF
$Output &= 'IP erhalten: ' & @TAB & _WMIDateStringToDate($objItem2.DHCPLeaseObtained) & @CRLF
$Output &= 'IP läuft ab: ' & @TAB & _WMIDateStringToDate($objItem2.DHCPLeaseExpires) & @CRLF
Else
$Output &= 'Adresstyp: ' & @TAB & 'Manuell konfiguriert' & @CRLF
EndIf
$Output &= 'IP-Addresse: ' & @TAB & $objItem2.IPAddress(0) & @CRLF
$Output &= 'Subnetzmaske: ' & @TAB & $objItem2.IPSubnet(0) & @CRLF
$Output &= 'Standardgateway: ' & @TAB & $objItem2.DefaultIPGateway(0) & @CRLF & @CRLF
Else
$Output &= @CRLF
EndIf
EndIf
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_NetworkAdapterConfiguration' & @CRLF & @CRLF
EndIf
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_NetworkAdapter' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_Keyboard')
$Output &= @CRLF & 'Tastatur(en) ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_Keyboard', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Tastatur-Typ: ' & @TAB & $objItem.CreationClassName & @CRLF
$Output &= 'Tastenbelegung:' & @TAB & $KBLayout & @CRLF
$Output &= 'Anschluss: ' & @TAB & $objItem.Description & @CRLF
$Output &= 'Name: ' & @TAB & $objItem.Name & @CRLF
$Output &= 'F-Tastenanzahl:' & @TAB & $objItem.NumberOfFunctionKeys & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_Keyboard' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_PointingDevice')
$Output &= @CRLF & 'Mäuse ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_PointingDevice', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Hersteller: ' & @TAB & $objItem.Manufacturer & @CRLF
$Output &= 'Name: ' & @TAB & $objItem.Name & @CRLF
$Output &= 'Tastenanzahl:' & @TAB & $objItem.NumberOfButtons & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_PointingDevice' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_Printer')
$Output &= @CRLF & 'Drucker ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_Printer', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Name: ' & @TAB & $objItem.Name & @CRLF
$Output &= 'TreiberName: ' & @TAB & $objItem.DriverName & @CRLF
$Output &= 'Anschluss: ' & @TAB & $objItem.PortName & @CRLF
$Output &= 'Horiz. Auflösung: ' & @TAB & $objItem.HorizontalResolution & @CRLF
$Output &= 'Vertik. Auflösung: ' & @TAB & $objItem.VerticalResolution & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_Printer' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_LogicalDisk')
$Output &= @CRLF & 'Logische Laufwerke ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_LogicalDisk', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Laufwerk: ' & @TAB & $objItem.Name & @CRLF
$Output &= 'Beschreibung: ' & @TAB & $objItem.Description & @CRLF
If $objItem.Description = 'Netzwerkverbindung' Then
$Output &= 'Netzwerkpfad: ' & @TAB & $objItem.ProviderName & @CRLF
EndIf
$Output &= 'Größe: ' & @TAB & _DisplayMemorySize($objItem.Size / 1024) & @CRLF
$Output &= 'Freier Speicher: ' & @TAB & _DisplayMemorySize($objItem.FreeSpace / 1024) & @CRLF
$Output &= 'DateiSystem: ' & @TAB & $objItem.FileSystem & @CRLF
$Output &= 'Datenträger: ' & @TAB & $objItem.VolumeName & @CRLF
$Output &= 'Seriennummer: ' & @TAB & $objItem.VolumeSerialNumber & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_LogicalDisk' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_DiskDrive')
$Output &= @CRLF & 'Festplatte(n) ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_DiskDrive', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Bezeichnung: ' & @TAB & $objItem.Model & @CRLF
$Output &= 'Größe: ' & @TAB & _DisplayMemorySize($objItem.Size / 1024) & @CRLF
$Output &= 'Anschluss: ' & @TAB & $objItem.InterfaceType & @CRLF
$Output &= 'Bytes/Sektor:' & @TAB & $objItem.BytesPerSector & @CRLF
$Output &= 'PNPDeviceID: ' & @TAB & $objItem.PNPDeviceID & @CRLF
$Output &= 'Status: ' & @TAB & $objItem.Status & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_DiskDrive' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_CDROMDrive')
$Output &= @CRLF & 'CD-/DVD-ROM-Laufwerk(e) ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_CDROMDrive', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Laufwerk: ' & @TAB & $objItem.Drive & @CRLF
$Output &= 'Bezeichnung: ' & @TAB & $objItem.Name & @CRLF
$Output &= 'PNPDeviceID: ' & @TAB & $objItem.PNPDeviceID & @CRLF
$Output &= 'Status: ' & @TAB & $objItem.Status & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_CDROMDrive' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_VideoController')
$Output &= @CRLF & 'Grafikkarte(n) ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_VideoController', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$strAcceleratorCapabilities = $objItem.AcceleratorCapabilities(0)
$Output &= 'Hersteller: ' & @TAB & $objItem.AdapterCompatibility & @CRLF
$Output &= 'Beschreibung: ' & @TAB & $objItem.Description & @CRLF
$Output &= 'RAMDAC: ' & @TAB & $objItem.AdapterDACType & @CRLF
$Output &= 'Grafikkarten-RAM: ' & @TAB & _DisplayMemorySize($objItem.AdapterRAM / 1024) & @CRLF
$Output &= 'Horiz. Auflösung: ' & @TAB & $objItem.CurrentHorizontalResolution & @CRLF
$Output &= 'Vertik. Auflösung: ' & @TAB & $objItem.CurrentVerticalResolution & @CRLF
$Output &= 'Bits/Pixel: ' & @TAB & $objItem.CurrentBitsPerPixel & @CRLF
$Output &= 'Anzahl der Farben: ' & @TAB & _StringAddThousandsSep($objItem.CurrentNumberOfColors, '.', ',') & @CRLF
$Output &= 'TreiberVersion: ' & @TAB & $objItem.DriverVersion & @CRLF
$Output &= 'Treiberdatum: ' & @TAB & _WMIDateStringToDate($objItem.DriverDate) & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_VideoController' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_SoundDevice')
$Output &= @CRLF & 'Soundkarte(n) ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_SoundDevice', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Hersteller: ' & @TAB & $objItem.Manufacturer & @CRLF
$Output &= 'Name: ' & @TAB & $objItem.Name & @CRLF
$Output &= 'PNPDeviceID:' & @TAB & $objItem.PNPDeviceID & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_SoundDevice' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_PhysicalMemory')
$Output &= @CRLF & 'Hauptspeicher (RAM) ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_PhysicalMemory', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Belegung: ' & @TAB & $objItem.BankLabel & @CRLF
$Output &= 'Kapazität: ' & @TAB & _DisplayMemorySize($objItem.Capacity / 1024) & @CRLF
$Output &= 'Bandbreite: ' & @TAB & $objItem.DataWidth & ' Bit' & @CRLF
$Output &= 'Steckplatz: ' & @TAB & $objItem.DeviceLocator & @CRLF
$Output &= 'FormFaktor: ' & @TAB & $objItem.FormFactor & @CRLF
$Output &= 'Geschwindigkeit:' & @TAB & $objItem.Speed & ' MHz' & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_PhysicalMemory' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_CacheMemory')
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_CacheMemory', 'WQL', 0x30)
Global $Cache
If IsObj($colItems) Then
For $objItem In $colItems
$Cache &= 'Speicher: ' & @TAB & $objItem.Purpose & ' (' & $objItem.InstalledSize & ' KB)' & @CRLF
Next
Else
$Cache &= 'No WMI Objects Found for class: Win32_CacheMemory' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_Prozessor')
$Output &= @CRLF & 'Prozessor(en) ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_Processor', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Prozessor: ' & @TAB & $objItem.DeviceID & @CRLF
$Output &= 'Name: ' & @TAB & $objItem.Name & @CRLF
$Output &= 'Sockel: ' & @TAB & $objItem.SocketDesignation & @CRLF
$Output &= 'Taktfrequenz: ' & @TAB & $objItem.CurrentClockSpeed & ' MHz' & @CRLF
$Output &= $Cache & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_Processor' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_BaseBoard')
$Output &= @CRLF & 'Mainboard ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_BaseBoard', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Hersteller: ' & @TAB & $objItem.Manufacturer & @CRLF
$Output &= 'Produkt: ' & @TAB & $objItem.Product & @CRLF
$Output &= 'Version: ' & @TAB & $objItem.Version & @CRLF
$Output &= 'Seriennummer:' & @TAB & $objItem.SerialNumber & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_BaseBoard' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_SystemSlot')
$Output &= @CRLF & 'Steckplätze für Erweiterungskarten ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_SystemSlot', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Bezeichnung: ' & $objItem.SlotDesignation & @CRLF
$Output &= 'Steckplatz belegt: ' & _Iif($objItem.CurrentUsage = 4, 'Ja', 'Nein') & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: ' & 'Win32_SystemSlot' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, ' Bitte warten...' & @CRLF & @CRLF & ' Win32_BIOS')
$Output &= @CRLF & 'BIOS ' & @CRLF
$Output &= '==============================================================' & @CRLF
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_BIOS', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= 'Hersteller: ' & @TAB & $objItem.Manufacturer & @CRLF
$Output &= 'Name: ' & @TAB & $objItem.Name & @CRLF
$Output &= 'Datum: ' & @TAB & _WMIDateStringToDate($objItem.ReleaseDate) & @CRLF
$Output &= 'BIOS-Version:' & @TAB & $objItem.SMBIOSBIOSVersion & @CRLF & @CRLF
Next
Else
$Output &= 'No WMI Objects Found for class: Win32_BIOS' & @CRLF & @CRLF
EndIf
GUICtrlSetData($Edit, $Output)
GUICtrlSetState($Edit, $GUI_FOCUS)
GUICtrlSetState($End, $GUI_ENABLE)
GUICtrlSetState($Send, $GUI_ENABLE)
While True
Sleep(100)
WEnd
Func _End()
Exit
EndFunc ;==>_End
Func _Send()
_INetMail($s_MailTo, $s_MailSubject, '')
ClipPut($Output)
Sleep(2000)
Send('{TAB 3}')
Send('^v')
EndFunc ;==>_Send
Func _WMIDateStringToDate($dtmDate)
Return StringMid($dtmDate, 7, 2) & '.' & StringMid($dtmDate, 5, 2) & '.' & StringLeft($dtmDate, 4) _
& ' ' & _
StringMid($dtmDate, 9, 2) & ':' & StringMid($dtmDate, 11, 2) & ':' & StringMid($dtmDate, 13, 2)
EndFunc ;==>_WMIDateStringToDate
Func _DisplayMemorySize($DMSize)
Return _StringAddThousandsSep(Round($DMSize / 1024), '.', ',') & ' MB (' & _StringAddThousandsSep($DMSize * 1024, '.', ',') & ' Bytes)'
EndFunc ;==>_DisplayMemorySize
Func _PingTime()
Local $time
$time = Ping('www.google.com', 1000)
$Output &= 'www.google.com' & @TAB & _Iif(($time < 1000) And ($time > 0), $time & ' ms', 'Antwortzeit überschritten!') & @CRLF
$time = Ping('www.google.de', 1000)
$Output &= 'www.google.de' & @TAB & _Iif(($time < 1000) And ($time > 0), $time & ' ms', 'Antwortzeit überschritten!') & @CRLF
$time = Ping('www.heise.de', 1000)
$Output &= 'www.heise.de' & @TAB & _Iif(($time < 1000) And ($time > 0), $time & ' ms', 'Antwortzeit überschritten!') & @CRLF
$time = Ping('www.ard.de', 1000)
$Output &= 'www.ard.de' & @TAB & _Iif(($time < 1000) And ($time > 0), $time & ' ms', 'Antwortzeit überschritten!') & @CRLF
$time = Ping('www.zdf.de', 1000)
$Output &= 'www.zdf.de' & @TAB & _Iif(($time < 1000) And ($time > 0), $time & ' ms', 'Antwortzeit überschritten!') & @CRLF & @CRLF
EndFunc ;==>_PingTime
; ----------------------------------------------------------------------------
; AutoIt Version: 3.1.1 beta
; Author: Unknown & Thorsten Meger <[email='Thorsten.Meger@gmx.de'][/email]>
;
; Script Function: Decode REG_BINARY
; ----------------------------------------------------------------------------
Func _DecodeProductKey($BinaryDPID)
Local $bKey[15]
Local $sKey[29]
Local $Digits[24]
Local $Value = 0
Local $hi = 0
Local $n = 0
Local $i = 0
Local $dlen = 29
Local $slen = 15
Local $Result
$Digits = StringSplit('BCDFGHJKMPQRTVWXY2346789', '')
$BinaryDPID = StringMid($BinaryDPID, 105, 30)
For $i = 1 To 29 Step 2
$bKey[Int($i / 2)] = Dec(StringMid($BinaryDPID, $i, 2))
Next
For $i = $dlen - 1 To 0 Step -1
If Mod(($i + 1), 6) = 0 Then
$sKey[$i] = '-'
Else
$hi = 0
For $n = $slen - 1 To 0 Step -1
$Value = BitOR(BitShift($hi, -8), $bKey[$n])
$bKey[$n] = Int($Value / 24)
$hi = Mod($Value, 24)
Next
$sKey[$i] = $Digits[$hi + 1]
EndIf
Next
For $i = 0 To 28
$Result = $Result & $sKey[$i]
Next
Return $Result
EndFunc ;==>_DecodeProductKey