Problem bei Anzeige der GraKa

  • 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

    [/autoit]

    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
    [autoit]


    #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 ****

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    #include <Date.au3>
    #include <Inet.au3>
    #include <String.au3>
    #include <Misc.au3>

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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')

    [/autoit] [autoit][/autoit] [autoit]

    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)

    [/autoit] [autoit][/autoit] [autoit]

    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')

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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")

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetData($Edit, $Output)
    GUICtrlSetState($Edit, $GUI_FOCUS)
    GUICtrlSetState($End, $GUI_ENABLE)
    GUICtrlSetState($Send, $GUI_ENABLE)

    [/autoit] [autoit][/autoit] [autoit]

    While True
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _End()
    Exit
    EndFunc ;==>_End

    [/autoit] [autoit][/autoit] [autoit]

    Func _Send()
    _INetMail($s_MailTo, $s_MailSubject, '')
    ClipPut($Output)
    Sleep(2000)
    Send('{TAB 3}')
    Send('^v')
    EndFunc ;==>_Send

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    Func _DisplayMemorySize($DMSize)
    Return _StringAddThousandsSep(Round($DMSize / 1024), '.', ',') & ' MB (' & _StringAddThousandsSep($DMSize * 1024, '.', ',') & ' Bytes)'
    EndFunc ;==>_DisplayMemorySize

    [/autoit] [autoit][/autoit] [autoit]

    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] [autoit][/autoit] [autoit]

    ; ----------------------------------------------------------------------------
    ; 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

    [/autoit]

    6 Mal editiert, zuletzt von noctis (26. März 2009 um 12:47)

    • Offizieller Beitrag
    Spoiler anzeigen
    [autoit]

    $strComputer = "."
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
    $colItems = $objWMIService.ExecQuery ("Select * from Win32_VideoController")

    [/autoit] [autoit][/autoit] [autoit]

    For $objItem in $colItems
    ConsoleWrite( "Adapter Compatibility: " & $objItem.AdapterCompatibility & @LF)
    ConsoleWrite( "Adapter DAC Type: " & $objItem.AdapterDACType & @LF)
    ConsoleWrite( "Adapter RAM: " & $objItem.AdapterRAM & @LF)
    ConsoleWrite( "Availability: " & $objItem.Availability & @LF)
    ConsoleWrite( "Color Table Entries: " & $objItem.ColorTableEntries & @LF)
    ConsoleWrite( "Current Bits Per Pixel: " & $objItem.CurrentBitsPerPixel & @LF)
    ConsoleWrite( "Current Horizontal Resolution: " & _
    $objItem.CurrentHorizontalResolution & @LF)
    ConsoleWrite( "Current Number of Colors: " & $objItem.CurrentNumberOfColors & @LF)
    ConsoleWrite( "Current Number of Columns: " & $objItem.CurrentNumberOfColumns & @LF)
    ConsoleWrite( "Current Number of Rows: " & $objItem.CurrentNumberOfRows & @LF)
    ConsoleWrite( "Current Refresh Rate: " & $objItem.CurrentRefreshRate & @LF)
    ConsoleWrite( "Current Scan Mode: " & $objItem.CurrentScanMode & @LF)
    ConsoleWrite( "Current Vertical Resolution: " & _
    $objItem.CurrentVerticalResolution & @LF)
    ConsoleWrite( "Description: " & $objItem.Description & @LF)
    ConsoleWrite( "Device ID: " & $objItem.DeviceID & @LF)
    ConsoleWrite( "Device Specific Pens: " & $objItem.DeviceSpecificPens & @LF)
    ConsoleWrite( "Dither Type: " & $objItem.DitherType & @LF)
    ConsoleWrite( "Driver Date: " & $objItem.DriverDate & @LF)
    ConsoleWrite( "Driver Version: " & $objItem.DriverVersion & @LF)
    ConsoleWrite( "ICM Intent: " & $objItem.ICMIntent & @LF)
    ConsoleWrite( "ICM Method: " & $objItem.ICMMethod & @LF)
    ConsoleWrite( "INF Filename: " & $objItem.InfFilename & @LF)
    ConsoleWrite( "INF Section: " & $objItem.InfSection & @LF)
    ConsoleWrite( "Installed Display Drivers: " & _
    $objItem.InstalledDisplayDrivers & @LF)
    ConsoleWrite( "Maximum Memory Supported: " & $objItem.MaxMemorySupported & @LF)
    ConsoleWrite( "Maximum Number Controlled: " & $objItem.MaxNumberControlled & @LF)
    ConsoleWrite( "Maximum Refresh Rate: " & $objItem.MaxRefreshRate & @LF)
    ConsoleWrite( "Minimum Refresh Rate: " & $objItem.MinRefreshRate & @LF)
    ConsoleWrite( "Monochrome: " & $objItem.Monochrome & @LF)
    ConsoleWrite( "Name: " & $objItem.Name & @LF)
    ConsoleWrite( "Number of Color Planes: " & $objItem.NumberOfColorPlanes & @LF)
    ConsoleWrite( "Number of Video Pages: " & $objItem.NumberOfVideoPages & @LF)
    ConsoleWrite( "PNP Device ID: " & $objItem.PNPDeviceID & @LF)
    ConsoleWrite( "Reserved System Palette Entries: " & _
    $objItem.ReservedSystemPaletteEntries & @LF)
    ConsoleWrite( "Specification Version: " & $objItem.SpecificationVersion & @LF)
    ConsoleWrite( "System Palette Entries: " & $objItem.SystemPaletteEntries & @LF)
    ConsoleWrite( "Video Architecture: " & $objItem.VideoArchitecture & @LF)
    ConsoleWrite( "Video Memory Type: " & $objItem.VideoMemoryType & @LF)
    ConsoleWrite( "Video Mode: " & $objItem.VideoMode & @LF)
    ConsoleWrite( "Video Mode Description: " & $objItem.VideoModeDescription & @LF)
    ConsoleWrite( "Video Processor: " & $objItem.VideoProcessor & @LF)
    ConsoleWrite( "====================================================================" & @CRLF)
    Next

    [/autoit]