- Offizieller Beitrag
Hier sind alle möglichen infos zum Pc!
Ziemlich viele daten sind von Pastel's unattended windos install (noch mal ein großes lob!!)die meisteni funktionen sind aber von mir und das in einer passenden GUI abgespeichert...
Naja viel spaß
Spoiler anzeigen
C
#include <array.au3>
#include <GUIConstants.au3>
#include <process.au3>
$KB = 2 ^ 10
$a = 0
$infozupc = GUICreate("Info zum PC - By GtaSpider", 368, 420, 192, 125)
$akt = GUICtrlCreateButton("Aktualisieren", 8, 8, 73, 25)
$Edit1 = GUICtrlCreateEdit("", 8, 40, 350, 370, $ES_AUTOVSCROLL + $WS_VSCROLL, $WS_EX_CLIENTEDGE)
GUICtrlSetData(-1, StringReplace(_Version(), @LF, @CRLF))
$speed = GUICtrlCreateButton("Geschwindigkeit", 88, 8, 89, 25)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $akt
$a = 0
GUICtrlSetData($Edit1, "")
GUICtrlSetData($Edit1, StringReplace(_Version(), @LF, @CRLF))
Case $msg = $speed
$mem = MemGetStats()
GuiSetState(@SW_DISABLE,$infozupc)
;Danke an Huggy für die tatkräftige unterstüzung!
$ram = GuiCreate("RAM - By GtaSpider und Huggy",293,88,228,418,-1,$WS_EX_TOOLWINDOW+$WS_EX_MDICHILD,$infozupc)
$phyram = GuiCtrlCreateProgress(128,8,150,17)
$pagefile = GuiCtrlCreateProgress(128,32,150,17)
$virt = GuiCtrlCreateProgress(128,56,150,17)
GuiCtrlCreateLabel("Physikalischer Speicher:",8,8,119,15)
GuiCtrlCreateLabel("Pagefile:",8,32,119,15)
GuiCtrlCreateLabel("Virtueller Speicher:",8,56,119,15)
;
GuiCtrlSetData($phyram,100-((100*$mem[2])/$mem[1]))
GuiCtrlSetData($pagefile,100-((100*$mem[4])/$mem[3]))
GuiCtrlSetData($virt,100-((100*$mem[6])/$mem[5]))
GuiSetState()
While 1
If GuiGetMsg() = $GUI_EVENT_CLOSE Then ExitLoop
Wend
GuiDelete($ram)
GuiSetState(@SW_ENABLE,$infozupc)
WinActivate($infozupc)
EndSelect
WEnd
Exit
;~ MsgBox(0,"",)
Func _Version()
Dim $cpugen, $cpuat, $cpuraw, $cpu, $mem, $memfreeun, $memtotalun, $memfree, $memtotal, $vide, $vidcard, $monito, $monitor, $soun, $soundcard, $mous, $mouse
;Infos zur CPU auslesen:
$cpugen = RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0", "Identifier")
$cpuat = " @ " & RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0", "~MHz") & "MHz"
$cpuraw = $cpugen & $cpuat
$cpu = StringStripWS($cpuraw, 1)
$cpugen = RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0", "processornamestring")
$cpuraw = $cpugen
$cpuname = StringStripWS($cpuraw, 1)
;Infos zum Arbeitsspeicher:
$mem = MemGetStats()
$memfreeun = Round(($mem[2] / $KB))
$memtotalun = ($mem[1] / $KB)
$memfree = Round($memfreeun, 0) & " MB"
$memtotal = Round($memtotalun, 0) & " MB"
;CurrentControlSet auslesen:
Global $crtset
$crtset = RegEnumKey("HKEY_LOCAL_MACHINE\SYSTEM", 2)
;Grafikkarte auslesen:
$vide = "HKEY_LOCAL_MACHINE\SYSTEM\" & $crtset & "\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000"
$vidcard = RegRead($vide, "driverdesc")
;Monitor auslesen:
$monito = "HKEY_LOCAL_MACHINE\SYSTEM\" & $crtset & "\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\0002"
$monitor = RegRead($monito, "driverdesc")
;Soundkarte auslesen:
$string = _zounds("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}")
Dim $subkeystring
$subkeystring = _subkey($string)
$subarray = StringSplit($subkeystring, "|")
$soun = "HKEY_LOCAL_MACHINE\SYSTEM\" & $crtset & "\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\" & $subarray[1]
$soundcardone = "Soundkarte: " & RegRead($soun, "driverdesc")
$sountwo = "HKEY_LOCAL_MACHINE\SYSTEM\" & $crtset & "\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\" & $subarray[2]
$soundcardtwo = "Soundkarte: " & RegRead($sountwo, "driverdesc")
If $soundcardone = $soundcardtwo Then
$soundcard = $soundcardone
EndIf
If $soundcardtwo <> $soundcardone And RegRead($sountwo, "driverdesc") <> "" Then
$soundcard = $soundcardone & @CRLF & $soundcardtwo
EndIf
If $soundcardtwo <> $soundcardone And RegRead($sountwo, "driverdesc") = "" Then
$soundcard = $soundcardone
EndIf
;Mouse auslesen:
$mous = "HKEY_LOCAL_MACHINE\SYSTEM\" & $crtset & "\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}\0000"
$mouse = RegRead($mous, "driverdesc")
$winkey = DecodeProductKey(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "DigitalProductID"))
$winid = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductId")
Global $Result = ""
#region dircet X
$directX = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX", "Version")
If $directX = ("4.09.00.0904") Then $directX = ("9.0c")
If $directX = ("4.09.00.0903") Then $directX = ("9.0c")
If $directX = ("4.09.00.0902") Then $directX = ("9.0b")
If $directX = ("4.09.00.0901") Then $directX = ("9.0a")
If $directX = ("4.09.00.0900") Then $directX = ("9.0")
If $directX = ("4.08.02.0134") Then $directX = ("8.2")
If $directX = ("4.08.01.0901") Then $directX = ("8.1a/b")
If $directX = ("4.08.01.0881") Then $directX = ("8.1")
If $directX = ("4.08.01.0810") Then $directX = ("8.1")
#endregion direct X
Return "Hardware:" & @LF & "CPU: " & $cpu & @LF & "CPU Name: " & $cpuname & @LF & "Arbeitsspeicher (gesammt/frei): " & $memtotal & "/" & $memfree & @LF & "Prozessor Revision: " & _GetRevison () & @LF & "Grafikkarte: " & $vidcard & @LF & "Direct X Version: " & $directX & @LF & "Monitor: " & $monitor & @LF & "Auflösung: " & @DesktopWidth & " x " & @DesktopHeight & " x " & @DesktopDepth & " @ " & @DesktopRefresh & @LF & $soundcard & @LF & "Mouse: " & $mouse & @LF & " " & @LF & "Aktuelles Beriebssystem:" & @LF & "Windows-Version: " & _OSVersion() & " " & @OSBuild & " " & @OSServicePack & @LF & "Windows-Typ: " & _OSTyp() & @LF & "Windows Seriennummer: " & $winkey & @LF & "Windows Produkt-ID: " & $winid & @LF & "Sprache: " & _Language() & @LF & " " & @LF & "Systeminformationen:" & @LF & "Computer-Name: " & @ComputerName & @LF & "Aktueller Benutzer: " & @UserName & @LF & " " & @LF & "Netzwerkinformationen:" & @LF & "IP-Adresse 1: " & @IPAddress1 & @LF & "IP-Adresse 2: " & @IPAddress2 & @LF & "IP-Adresse 3: " & @IPAddress3 & @LF & "IP-Adresse 4: " & @IPAddress4 & @LF & "MAC-Adresse: " & _GetMACFromIP()
EndFunc ;==>_Version
Func _Language()
Select
Case StringInStr("0413,0813", @OSLang)
Return "Irländisch"
Case StringInStr("0409,0809,0c09,1009,1409,1809,1c09,2009,2409,2809,2c09,3009,3409", @OSLang)
Return "Englisch"
Case StringInStr("040c,080c,0c0c,100c,140c,180c", @OSLang)
Return "Französisch"
Case StringInStr("0407,0807,0c07,1007,1407", @OSLang)
Return "Deutsch"
Case StringInStr("0410,0810", @OSLang)
Return "Italienisch"
Case StringInStr("0414,0814", @OSLang)
Return "Norwegisch"
Case StringInStr("0415", @OSLang)
Return "Polnisch"
Case StringInStr("0416,0816", @OSLang)
Return "Portugisisch"
Case StringInStr("040a,080a,0c0a,100a,140a,180a,1c0a,200a,240a,280a,2c0a,300a,340a,380a,3c0a,400a,440a,480a,4c0a,500a", @OSLang)
Return "Spanisch"
Case StringInStr("041d,081d", @OSLang)
Return "Schwedisch"
Case Else
Return "Ander Sprache"
EndSelect
EndFunc ;==>_Language
Func _OSVersion()
Select
Case @OSVersion == "WIN_2003"
Return "Windows 2003"
Case @OSVersion == "WIN_XP"
Return "Windows XP"
Case @OSVersion == "WIN_2000"
Return "Windows 2000"
Case @OSVersion == "WIN_NT4"
Return "Windows NT 4"
Case @OSVersion == "WIN_ME"
Return "Windows ME"
Case @OSVersion == "WIN_98"
Return "Windows 98"
Case @OSVersion == "WIN_95"
Return "Windows 95"
Case Else
Return "Ohh.. ist der Alt!"
EndSelect
EndFunc ;==>_OSVersion
Func _OSTyp()
Select
Case @OSTYPE == "WIN32_NT"
Return "Windows NT32"
Case @OSTYPE == "WIN32_WINDOWS"
Return "Windows 32"
EndSelect
EndFunc ;==>_OSTyp
Func _zounds($soundcardkey)
Global $string
$i = 1
While 1
$key = RegEnumKey($soundcardkey, $i)
If @error = -1 Then ExitLoop
$reg = RegRead($soundcardkey & "\" & $key, "SetupPreferredAudioDevicesCount")
If $reg = "0" Then
$reg = "0"
EndIf
If $reg = "" Then
$reg = "-1"
EndIf
$string = $string & $reg & " | "
SetError(1)
$i = $i + 1
WEnd
Return $string
EndFunc ;==>_zounds
Func _subkey($str)
$array = StringSplit($str, "|")
_ArrayDelete($array, 0)
$arrayoriginal = $array
$maxinda = _ArrayMaxIndex($arrayoriginal, 1)
$maxa = $arrayoriginal[$maxinda]
_ArrayDelete($array, $maxinda)
$arrayafter = $array
$maxindb = _ArrayMaxIndex($arrayafter, 1)
$maxb = $arrayafter[$maxindb]
If $maxinda = 0 And $maxa = -1 Then
$subkeyone = "0000"
$subkeytwo = "0000"
Return $subkeyone & "|" & $subkeytwo
EndIf
If $maxindb = 0 And $maxb = -1 Then
If $maxinda < 10 Then
$subkeyone = "000" & $maxinda
$subkeytwo = $subkeyone
EndIf
If $maxinda > 9 Then
$subkeyone = "00" & $maxinda
$subkeytwo = $subkeyone
EndIf
Return $subkeyone & "|" & $subkeytwo
EndIf
If $maxinda < 10 And $maxindb < 9 And $maxinda < $maxindb Then
$subkeyone = "000" & $maxinda
$subkeytwo = "000" & ($maxindb + 1)
EndIf
If $maxinda < 10 And $maxindb < 10 And $maxinda > $maxindb Then
$subkeyone = "000" & $maxinda
$subkeytwo = "000" & $maxindb
EndIf
If $maxinda > 9 And $maxindb > 9 And $maxinda > $maxindb Then
$subkeyone = "00" & $maxinda
$subkeytwo = "00" & $maxindb
EndIf
If $maxinda > 9 And $maxindb > 8 And $maxinda < $maxindb Then
$subkeyone = "00" & $maxinda
$subkeytwo = "00" & ($maxindb + 1)
EndIf
If $maxinda > 9 And $maxindb < 10 And $maxinda > $maxindb Then
$subkeyone = "00" & $maxinda
$subkeytwo = "000" & $maxindb
EndIf
If $maxinda < 10 And $maxindb > 9 And $maxinda < $maxindb Then
$subkeyone = "000" & $maxinda
$subkeytwo = "00" & ($maxindb + 1)
EndIf
Return $subkeyone & "|" & $subkeytwo
EndFunc ;==>_subkey
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
Global $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
Func _GetMACFromIP($sIP=@IPAddress1, $mode = 1)
Local $MAC, $MACSize
Local $i, $s, $r, $iIP
$MAC = DllStructCreate("byte[6]")
$MACSize = DllStructCreate("int")
DllStructSetData($MACSize, 1, 6)
$r = DllCall("Ws2_32.dll", "int", "inet_addr", _
"str", $sIP)
$iIP = $r[0]
$r = DllCall("iphlpapi.dll", "int", "SendARP", "int", $iIP, "int", 0, "ptr", DllStructGetPtr($MAC), "ptr", DllStructGetPtr($MACSize))
$s = ""
If $mode = 0 Then
For $i = 0 To 5
$s &= Hex(DllStructGetData($MAC, 1, $i + 1), 2)
Next
ElseIf $mode = 1 Then
For $i = 0 To 5
If $i Then $s = $s & ":"
$s = $s & Hex(DllStructGetData($MAC, 1, $i + 1), 2)
Next
ElseIf $mode = 2 Then
For $i = 0 To 5
If $i Then $s = $s & "-"
$s = $s & Hex(DllStructGetData($MAC, 1, $i + 1), 2)
Next
EndIf
Return $s
EndFunc ;==>_GetMACFromIP
Func _GetRevison ()
;By Max(gtaspider)
$run = Run(@ComSpec & ' /c echo %PROCESSOR_REVISION%', '', @SW_HIDE, 6)
$stdoutread = StdoutRead($run)
If Not @error = -1 Then $outread = $stdoutread
$stderrRead = StderrRead($run)
If Not @error = -1 Then $outread = $stderrRead
Return StringTrimLeft($outread, 1)
EndFunc ;==>_GetRevison
Alles anzeigen
Edit: Neue Version!