1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Fintan

Beiträge von Fintan

  • Wie GUICtrlCreateInput aufteilen in Vorgabewert und Eingabewert? für Ordner-Jumper.

    • Fintan
    • 5. November 2011 um 22:57

    Habe ein kleines Script erstellt wo ich nicht weiter komme.
    Ich möchte in einen Auftragsordner springen, der sehr viele Ordner beinhaltet, die so benannt sind: 01-XXXX-11.
    X sind dabei immer nur vier variable Nummern. Ich wollte also immer nur die vier Zahlen eingeben müßen.
    Weiß aber nicht wie ich das mache?
    Also um in den Ordner zu springen brauch ich ja immer '01-' dann die variable Zahl und dann folgt '-11'.

    Script sieht so aus:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    ;#RequireAdmin
    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>

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

    Local $Pfad1, $Pfad2, $Jump1, $Jump2, $Input1, $Input2

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

    $Pfad1= "L:\G...\KIen....\ANGEBOT 2011\"
    $Pfad2= "L:\G...\KIen....\AUFTRAG 2011\"

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

    GUICreate("Ordner-Jumper", 210, 120)
    If Not @compiled Then GUISetIcon('Ordner.ico')
    GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 15, 10, 150, 13)
    GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 15, 65, 150, 13)

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

    $Jump1= GUICtrlCreateButton("1", 155, 29, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Direkt zum ANGEBOTS-Ordner 2011 springen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
    $Input1=GUICtrlCreateInput("", 35, 30, 100, 20)
    GUICtrlCreateLabel("01-", 17, 32, 17, 13)
    GUICtrlCreateLabel("-11", 137, 32, 17, 13)

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

    $Jump2= GUICtrlCreateButton("2", 155, 84, 23, 23, 0x0040)
    GUICtrlSetTip(-1, "Direkt zum AUFTRAGS-Ordner 2011 springen.")
    GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
    $Input2=GUICtrlCreateInput("", 35, 85, 100,20)
    GUICtrlCreateLabel("02-", 17, 87, 17, 13)
    GUICtrlCreateLabel("-11", 137, 87, 17, 13)

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

    GUISetState()
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $Jump1
    _opn1()
    Case $Jump2
    _opn2()
    EndSwitch
    WEnd

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

    Func _opn1()
    ShellExecute('01-'&$Input1&'-11', "", $Pfad1, "open")
    EndFunc

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

    Func _opn2()
    ShellExecute('02-'&$Input2&'-11', "", $Pfad2, "open")
    EndFunc

    [/autoit]
  • Computer-Info

    • Fintan
    • 20. März 2011 um 18:47

    Hallo

    Ist jetzt zwar schon ein Weilchen her mit dem Script, aber aktuell und benutzt wird es immernoch.

    Wie kann man denn noch die "Anzahl der Kerne" von Bitboy einbauen, dass es mit aufgeführt wird?
    Ich habe es so funktioniert, aber geht noch nicht:

    Spoiler anzeigen
    [autoit]

    Func GetCPUCores()
    Local $S_SYSTEM_INFO = DllStructCreate("ushort dwOemId;short wProcessorArchitecture;dword dwPageSize;ptr lpMinimumApplicationAddress;" & _
    "ptr lpMaximumApplicationAddress;long_ptr dwActiveProcessorMask;dword dwNumberOfProcessors;dword dwProcessorType;dword dwAllocationGranularity;" & _
    "short wProcessorLevel;short wProcessorRevision")
    Local $err

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

    ;Anzahl der CPUs bestimmen
    $err = DllCall("Kernel32.dll", "none", "GetSystemInfo", "ptr", DllStructGetPtr($S_SYSTEM_INFO))

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

    If @error Or Not IsArray($err) Then ;Fehler beim Dll Aufruf
    Return -1
    Else
    Return DllStructGetData($S_SYSTEM_INFO, "dwNumberOfProcessors")
    EndIf

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

    EndFunc ;==>GetCPUCores

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

    $sOut = 'Kerne: ' & GetCPUCores

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

    MsgBox(64, 'CPU-Kerne', $sOut)

    [/autoit]
  • Array in Textdatei speichern!

    • Fintan
    • 12. März 2011 um 14:41

    Ah ja, mit der UDF wärs auch gegangen, danke.

    Ich habe es jetzt doch rausgefunden, wie es richtig ausgespuckt.

    [autoit]

    $RegPath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "DevicePath")
    $DevPath = StringSplit($RegPath, ';')

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

    $Output = ""
    For $r = 1 to UBound($DevPath,1) - 1
    $Output = $Output & $r & '. Treiberpfad: ' & $DevPath[$r] & @LF
    Next
    MsgBox(64,"Treiberpfade", $Output)

    [/autoit]
  • Array in Textdatei speichern!

    • Fintan
    • 11. März 2011 um 17:43

    Danke Euch beiden.

    Also bei mir stehen in der Registry die Namen so wie oben im String geschrieben drin! (nLited Treiber sind da eingetragen!)

    Ich wollte halt den $output Zeilenweise von dem gesplitteten string $arSplit ausgeben. In jeder Zeile ein anderer Treiber aufgeführt.

    Code
    1. Treiberpfad: %SystemRoot%\NLDRV\010
    2. Treiberpfad: %SystemRoot%\NLDRV\009
    3. Treiberpfad: %SystemRoot%\NLDRV\008
    4. ...
  • Shutdown (xp)

    • Fintan
    • 10. März 2011 um 18:48
    Zitat von opaed

    PS. Die Frage wollte ich schon seit Ewigkeit stellen.
    Ist so ein Tool wie Regjump mit Autoit realisierbar ???


    Wenn du meinst, dass man direkt zu einer Adresse in die Registry springen kann, dann schau mal da.
    RegJumper

  • Array in Textdatei speichern!

    • Fintan
    • 10. März 2011 um 18:36

    Ich habe mal in _GetRegSubKeys geschaut, aber dort werden nur Ordner ausgegeben, aber keine Einträge!
    Und dann bekomme ich dort keinen Output wie oben gefragt.

    Hat noch jemand einen Tip oder UDF der so was kann?

  • Funktionen der Skripte im Includeverzeichnis anzeigen

    • Fintan
    • 9. März 2011 um 15:49

    Wie hast du denn sein Tool in SciTE eingebunden?

  • Array in Textdatei speichern!

    • Fintan
    • 9. März 2011 um 15:43

    Hallo
    Ich versuche gerade mit unteren Code aus einem Registryzweig Pfade auszulesen und diese in eine Textdatei zu speichern.
    Er speichert mir aber immer nur jeweils eine Zeile in immer die gleiche Textdatei! Es soll aber zum Schluß so aussehen:

    Code
    1. Treiberpfad: %SystemRoot%\NLDRV\010
    2. Treiberpfad: %SystemRoot%\NLDRV\009
    3. Treiberpfad: %SystemRoot%\NLDRV\008
    4. ...


    !! Aber Achtung so noch nicht ausführen, weil es sonst eine Endlosschleife wird !!

    Spoiler anzeigen
    [autoit]

    Global $Output, $DevPath, $Textdat = (@TempDir & '\Treiberpfade_' & @UserName & '.txt')
    ;$DevPath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "DevicePath")
    $String='%SystemRoot%\NLDRV\010;%SystemRoot%\NLDRV\009;%SystemRoot%\NLDRV\008;%SystemRoot%\NLDRV\007;%SystemRoot%\NLDRV\006;%SystemRoot%\NLDRV\005;%SystemRoot%\NLDRV\004;%SystemRoot%\NLDRV\003;%SystemRoot%\NLDRV\002;%SystemRoot%\NLDRV\001;%SystemRoot%\inf'

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

    $arSplit = StringSplit($String, ';');$DevPath
    If $arSplit[0] = 1 Then
    MsgBox(48, 'Fehler', 'Fehler! Soo geht`s net!')
    Else
    For $i = 1 To UBound($arSplit) -1
    For $Element In $arSplit
    $Output = $i & '. Treiberpfad: ' & $arSplit[$i]
    _Save()
    Next
    Next
    EndIf

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

    Func _Save()
    If _FileWriteLog($Textdat, $Output) = 1 Then
    If MsgBox(262212, "Meldung", "Die Treiberpfad.txt ist erstellt worden." & @CRLF & _
    "Treiberpfad.txt jetzt in Notepad ansehen?", 15) = 6 Then
    ShellExecute($Textdat)
    EndIf
    EndIf
    EndFunc ;==>_Save

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

    Func _FileWriteLog($sLogPath, $sLogMsg, $iFlag = -1)
    Local $iOpenMode = 2 ; 1 = An Textende dazuschreiben! , 2 = Überschreiben
    Local $sMsg = $sLogMsg
    If $iFlag <> -1 Then
    $sMsg &= @CRLF & FileRead($sLogPath)
    $iOpenMode = 2
    EndIf
    Local $hOpenFile = FileOpen($sLogPath, $iOpenMode)
    If $hOpenFile = -1 Then Return SetError(1, 0, 0)
    Local $iWriteFile = FileWriteLine($hOpenFile, $sMsg)
    Local $iRet = FileClose($hOpenFile)
    If $iWriteFile = -1 Then Return SetError(2, $iRet, 0)
    Return $iRet
    EndFunc ;==>_FileWriteLog

    [/autoit]
  • Au3Record Script leider schliesst das Installationsfenster danach nicht

    • Fintan
    • 24. Februar 2011 um 18:51

    Probiere doch mal den Titelnamen vom letzten Fenster von progandys code anzupassen, so wie du sie schon die 2mal vorher angepasst hast.

    [autoit]

    Opt("WinWaitDelay",100)
    Opt("WinDetectHiddenText",1)
    Opt("MouseCoordMode",0)

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

    Run('Z:\owc11.exe')
    _WinWaitActivate("Microsoft Office 2003 Web Components Setup","Zur Fortsetzung der ")
    MouseClick("left",85,106,1)
    MouseMove(466,180)
    MouseDown("left")
    MouseMove(465,348)
    MouseUp("left")
    MouseClick("left",50,384,1)
    MouseClick("left",340,424,1)
    _WinWaitActivate("Microsoft Office 2003 Web Components Setup","Microsoft Office 2003")
    MouseClick("left",234,35,1)
    MouseClick("left",229,71,1)
    MouseClick("left",203,187,1)

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

    $sTitle = "!!DEIN TITEL VON AU3INFO AUSGELESEN HIER EINTRAGEN!!"
    WinWait($sTitle)
    ControlClick($sTitle, "", "Button1")

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

    Func _WinWaitActivate($title,$text,$timeout=0)
    WinWait($title,$text,$timeout)
    If Not WinActive($title,$text) Then WinActivate($title,$text)
    WinWaitActive($title,$text,$timeout)
    EndFunc

    [/autoit]
  • Au3Record Script leider schliesst das Installationsfenster danach nicht

    • Fintan
    • 23. Februar 2011 um 14:50

    So zum Beispiel:
    ..... entfernt ....
    Dann müsstest du auch von diesem letzten Fenster nochmal den Button mit einem 'ControlClick' drücken lassen!

  • Notepad++ und AutoIt

    • Fintan
    • 22. Februar 2011 um 10:33

    Welche Datei meinst du?

    Wenn du die Zeile mit AutItWrapper meinst, dann diese Zeile einfach in die shortcut.xml mit einfügen.
    Wenn du Higlight-Dateien meinst, mußt du nur die Wörter kopieren und in die jeweilige datei hinein kopieren, das machst du am besten in SciTE, weil N++ das sonst nicht speichert!

  • Notepad++ und AutoIt

    • Fintan
    • 22. Februar 2011 um 10:19

    Ist doch nur eine Einstellungs- und Gewöhnungssache.
    Dafür hat er mehr Einstellungen und Plugins wie Zweispaltenansicht horizontal + vertikal, damit auch Vergleichen addin (Compere) u.a. mehr ...

    Den AutoItWrapper kann man doch auch mit in die shortcut.xml einfügen, damit hat man den gleichen Komfort wie in AutoIt:

    Code
    <Command name="AutoItWrapper" Ctrl="yes" Alt="no" Shift="no" Key="116">&quot;%ProgramFiles%\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe&quot; /showgui /in &quot;$(FULL_CURRENT_PATH)&quot;</Command>


    Die vollständigen AutoIt-Wörter habe ich ja schon im anderen Posting mitgeteilt, mit Farbeneinstellung wie in SciTE:
    Notepad++ AutoIt.3.3.6.1 Highlighti-Dateien

    AutoItWrapper in Deutsch auf nächster Seite...

  • Code verkürzen (StringReplace + array??)

    • Fintan
    • 13. Februar 2011 um 18:59

    Ah ja, danke dir Greenhorn, das klappt toll.

    Der vollständigkeithalber das gesamte Script mit dem man direkt in einen Registry-Schlüssel springen kann. Das Script ist nicht von mir, habe es irgendwo im Netz gefunden, k.A. mehr wo.
    Vielleicht erkennt ja sogar jemand sein Script.

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    Dim $Regit, $LastKey, $Fehler
    $Regit = @WindowsDir & "\regedit.exe"
    $LastKey = RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey")
    If @error = -1 Then
    RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey", "REG_SZ", "ARBEITSPLATZ\")
    $LastKey = RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey")
    EndIf
    $LastKey = InputBox("RegJumper", "Geben Sie hier den Schlüsselnamen an, den Sie direkt anwählen wollen." & @CRLF & @CRLF & "(evtl. mit Copy && Paste einfügen)", $LastKey, "", 550, 150)
    $Fehler = @error
    Select
    Case $Fehler = 0 And $LastKey = ""
    Exit
    Case $Fehler = 0
    $LastKey = CheckKey($LastKey)
    Case $Fehler = 1
    Exit
    EndSelect
    RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey", "REG_SZ", $LastKey)
    Sleep(200)
    Run($Regit)
    Exit
    Func CheckKey($val)
    $val = StringRegExpReplace ($val, "(\h+.*?\h+)", '\\')
    $val = StringRegExpReplace ($val, '([\[\]"])', '')
    $val = StringReplace($val, "HKCR", "HKEY_CLASSES_ROOT", 1)
    $val = StringReplace($val, "HKLM", "HKEY_LOCAL_MACHINE", 1)
    $val = StringReplace($val, "HKCU", "HKEY_CURRENT_USER", 1)
    $val = StringReplace($val, "HKU", "HKEY_USERS", 1)
    $val = StringReplace($val, "HKCC", "HKEY_CURRENT_CONFIG", 1)
    Return $val
    EndFunc ;=>CheckKey

    [/autoit]
  • Code verkürzen (StringReplace + array??)

    • Fintan
    • 13. Februar 2011 um 17:58

    Hallo zusammen
    Habe mich versucht den Code zu kürzen, aber bekomme nur Fehler gemeldet!
    Eventuell habt ihr noch eine bessere Idee, probiert habe ich folgegendes:

    [autoit]

    $String = '["HKLM , SYSTEM / ControlSet001 | Control >>>> Class - {4D36E972-E325-11CE-BFC1-08002bE10318} ; 0001 >> Ndi > params -->>> FlowControl ," enum]'

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

    Local $aRepl[37][1] = ['Chr(34)', " ", "| ", "| ", "|", "//", "/ ", " /", "/", " -->>", "-->> ", "-->>", " -", "- ", " ->", "-> ", "->", " -->", & _
    "--> ", "-->", ">>", " >>", ">> ", "> ", " >", ">", ',"', ", ", " ,", ",", " ;", "; ", ";", "'", " \", "\ ", "\\"]

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

    For $i = 0 To UBound($aRepl) - 1
    $String = StringReplace($String, $aRepl[$i][0], $aRepl[$i][1])
    Next
    If StringRight($String, 1) = "]" Then $String = StringLeft($String, (StringLen($String) - 1))
    If StringLeft($String, 1) = "[" Then $String = StringRight($String, (StringLen($String) - 1))
    If StringRight($String, 1) = "\" Then $String = StringLeft($String, (StringLen($String) - 1))
    $String = StringReplace($String, "HKCR", "HKEY_CLASSES_ROOT", 1)
    $String = StringReplace($String, "HKLM", "HKEY_LOCAL_MACHINE", 1)
    $String = StringReplace($String, "HKCU", "HKEY_CURRENT_USER", 1)
    $String = StringReplace($String, "HKU", "HKEY_USERS", 1)
    $String = StringReplace($String, "HKCC", "HKEY_CURRENT_CONFIG", 1)
    Return $String

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

    MsgBox(0, "Umgeänderter String ...", $String)

    [/autoit]

    Mein alter Code:

    Spoiler anzeigen
    [autoit]

    $String = '["HKLM , SYSTEM / ControlSet001 | Control >>>> Class - {4D36E972-E325-11CE-BFC1-08002bE10318} ; 0001 >> Ndi > params -->>> FlowControl ," enum]'
    Func CheckString($String)
    $String = StringReplace($String, Chr(34), "")
    $String = StringReplace($String, " ", "\")
    $String = StringReplace($String, "| ", "\")
    $String = StringReplace($String, " |", "\")
    $String = StringReplace($String, "|", "\")
    $String = StringReplace($String, "//", "\")
    $String = StringReplace($String, "/ ", "\")
    $String = StringReplace($String, " /", "\")
    $String = StringReplace($String, "/", "\")
    $String = StringReplace($String, "-->> ", "\")
    $String = StringReplace($String, " -->>", "\")
    $String = StringReplace($String, "-->>", "\")
    $String = StringReplace($String, "-->", "\")
    $String = StringReplace($String, "--> ", "\")
    $String = StringReplace($String, " -->", "\")
    $String = StringReplace($String, " -", "\")
    $String = StringReplace($String, "- ", "\")
    $String = StringReplace($String, "->", "\")
    $String = StringReplace($String, "-> ", "\")
    $String = StringReplace($String, " ->", "\")
    $String = StringReplace($String, ">>", "\")
    $String = StringReplace($String, ">> ", "\")
    $String = StringReplace($String, " >>", "\")
    $String = StringReplace($String, ">", "\")
    $String = StringReplace($String, "> ", "\")
    $String = StringReplace($String, " >", "\")
    $String = StringReplace($String, ", ", "\")
    $String = StringReplace($String, " ,", "\")
    $String = StringReplace($String, ",", "\")
    $String = StringReplace($String, "; ", "\")
    $String = StringReplace($String, " ;", "\")
    $String = StringReplace($String, ";", "\")
    $String = StringReplace($String, ',"', "\")
    $String = StringReplace($String, "'", "\")
    $String = StringReplace($String, " \", "\")
    $String = StringReplace($String, "\ ", "\")
    $String = StringReplace($String, "\\", "\")
    $String = StringReplace($String, " \", "\")
    $String = StringReplace($String, "\ ", "\")
    If StringRight($String, 1) = "]" Then $String = StringLeft($String, (StringLen($String) - 1))
    If StringLeft($String, 1) = "[" Then $String = StringRight($String, (StringLen($String) - 1))
    If StringRight($String, 1) = "\" Then $String = StringLeft($String, (StringLen($String) - 1))
    $String = StringReplace($String, "HKCR", "HKEY_CLASSES_ROOT", 1)
    $String = StringReplace($String, "HKLM", "HKEY_LOCAL_MACHINE", 1)
    $String = StringReplace($String, "HKCU", "HKEY_CURRENT_USER", 1)
    $String = StringReplace($String, "HKU", "HKEY_USERS", 1)
    $String = StringReplace($String, "HKCC", "HKEY_CURRENT_CONFIG", 1)
    Return $String
    EndFunc ;=>CheckString
    MsgBox(0, "Umgeänderter String ...", $String)

    [/autoit]
  • Verbesserungsvorschläge? zu oft StringRegExpReplace

    • Fintan
    • 12. Februar 2011 um 17:42

    Danke für das Beispiel!
    Ich habe mir das mal angesehen wie der Code mit dem Array geschrieben wurde, evtl. kann ich das auch gebrauchen.
    Dabei ist mir aufgefallen, dass im Code doch der Backslash fehlt! Müßte doch dann aber so gehen oder:

    [autoit]

    Global $aRepl[6][2] = [["\u00253A",":"], ["\u00252F","/"], ["\u00253F","?"], ["\u00253D","="], ["\u002526","&"], ["\\",""]]

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

    $String = "http\u00253A\u00252F\u00252Fvideo.ak.fbcdn.net\u00252Fcfs-ak-ash1\u00252F12345\u00252F123\u00252F12345678901234567_12345.mp4\u00253Foh\u00253D123456789012345678901234567890123\u002526oe\u00253D12345678\u002526__gda__\u00253D1234567890_12345678901234567890123456789012"

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

    For $i = 0 To UBound($aRepl) - 1
    $String = StringReplace($String, $aRepl[$i][0], $aRepl[$i][1])
    Next

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

    MsgBox(0, "Umgeänderter URL-String ...", $String)

    [/autoit]
  • Mainboard Modell _eindeutig_ identifizieren

    • Fintan
    • 12. Februar 2011 um 17:07

    Dann zeig doch mal deinen Code!
    Ich kann mir nicht vorstellen, dass sie das nicht eindeutig angeben, damit würden die sich ja auch Schwierigkeiten einhandeln!
    Schau dir mal den Codeschnipsel von Oscars ComputerInfo.au3 an, u. a. auch von CPU, Mainboard, Bios ... :

    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 (http://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 (http://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)
    EndIf

    [/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 & _ProdKey($Bin) & @CRLF & @CRLF ; Funktion _ProdKey() von Xenobiologist (http://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 _ProdKey($bia)
    Dim $a[15], $b[29], $c[24], $s = 15, $d = 29, $v = 0, $n = 0, $i = 0, $r, $h = 0
    $c = StringSplit("BCDFGHJKMPQRTVWXY2346789", "")
    $bia = StringMid($bia, 107, 30)
    For $i = 1 To 29 Step 2
    $a[Int($i / 2)] = Dec(StringMid($bia, $i, 2))
    Next
    For $i = $d - 1 To 0 Step -1
    If Mod(($i + 1), 6) = 0 Then
    $b[$i] = "-"
    Else
    $h = 0
    For $n = $s - 1 To 0 Step -1
    $v = BitOR(BitShift($h, -8), $a[$n])
    $a[$n] = Int($v / 24)
    $h = Mod($v, 24)
    Next
    $b[$i] = $c[$h + 1]
    EndIf
    Next
    For $i = 0 To 28
    $r = $r & $b[$i]
    Next
    Return $r
    EndFunc ;=>_ProdKey

    [/autoit]
  • für Notepad++ Autoit3.3.6.1 Dateien, Keywords zum hervorheben!

    • Fintan
    • 31. Januar 2011 um 18:34

    Ich habe gefunden, wo alle Keywords gespeichert sind!
    Unter 'C:\Programme\AutoIt3\SciTE\Properties' in der 'au3.keywords.properties'-Datei.

  • für Notepad++ Autoit3.3.6.1 Dateien, Keywords zum hervorheben!

    • Fintan
    • 28. Januar 2011 um 19:16

    Danke, mal sehen wie aktuell das ganze ist.
    Auf jeden Fall mal einen Anhaltspunkt, wo die Sachen gespeichert sind.

  • für Notepad++ Autoit3.3.6.1 Dateien, Keywords zum hervorheben!

    • Fintan
    • 27. Januar 2011 um 18:08

    Hat einer zufällig schon die nötigen Keywords für Notepad++, damit die Wörter auch hervorgehoben werden?
    Also z.B.: wird @osarch und diverse Autoitwrapper Keywords nicht hervorgehoben!

    Wo könnte man den ansonsten nachsehen oder stehen die denn sogar irgendwo in einer Datei drin ?

    Danke schon mal.

  • Manage USB-Drives per devcon.exe

    • Fintan
    • 25. Januar 2011 um 19:37

    OK danke, das war der Übeltäter. :)

    Bleibt noch die Frage, wie man das nur einmal aufführen braucht mit einer Variablen oder sowas!?
    Dann kann man es für diese Func _DISABLE(), _ENABLE(), _REMOVE(), _RESTART() einsetzen.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™