hai,
gibt es eine Möglichkeit mit Autoit die Systemkomponenten einen PC's herauszufinden?
mfg halloman
hai,
gibt es eine Möglichkeit mit Autoit die Systemkomponenten einen PC's herauszufinden?
mfg halloman
Ein Script von mir: Computer-Info
vielen dank
Ansonsten gibt es noch WMI wenn Sachen fehlen.
MfG
Der_Doc
das is mir zu kompliziert oscar...
gibt es da was einfacheres?^^
brauche nur den Takt der CPU, GPU RAM und wie viel Arbeitsspeicher
Zitatdas is mir zu kompliziert oscar...
wenn schon ein FERTIGES und vor allen Dingen funktionierendes Script gepostet wird, dann sollte ein Threadersteller zumindest in der Lage sein, die für ihn wichtigen Funktionen einfach herauszukopieren...Oder erwartest du, dass man dir ein fertiges Script schreibt?
Zitatgibt es eine Möglichkeit mit Autoit die Systemkomponenten einen PC's herauszufinden
JA! AutoIt-Script-O-Matic...da bekommt man sogar fertige Scripte mit nur 2-3 Mausklicks...oder ist auch das "zu kompliziert"?
warum machst du mich gleich so an...ich erwarte natürlich nicht das mir jmd ein fertiges script schreibt
danke ich schaue mir das mal an
Andy: Nicht gleich so streng sein. Er ist doch noch neu und mein Script ist auch nicht soo übersichtlich.
@halloman: Weil heute Sonntag ist, bekommst Du ein fertiges Script.
$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = 'localhost'
$Output=""
$Output &= 'Computer: ' & $strComputer & @CRLF
$Output &= '==========================================' & @CRLF
$objWMIService = ObjGet('winmgmts:\\' & $strComputer & '\')
Global $CurrentClockSpeed, $MaxClockSpeed, $GPUAdapterRAM, $TotalRAM, $sOut
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_Processor', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) then
For $objItem In $colItems
$CurrentClockSpeed = $objItem.CurrentClockSpeed
$MaxClockSpeed = $objItem.MaxClockSpeed
Next
Endif
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_VideoController', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) then
For $objItem In $colItems
$GPUAdapterRAM = $objItem.AdapterRAM
Next
Endif
$TotalRAM = MemGetStats()
[/autoit] [autoit][/autoit] [autoit]$sOut = 'CPU = ' & $CurrentClockSpeed & ' Hz (max. ' & $MaxClockSpeed & ' Hz)' & @CR
$sOut &= 'GPU-RAM = ' & _ByteAutoSize($GPUAdapterRAM, 0) & @CR
$sOut &= 'RAM = ' & _ByteAutoSize($TotalRAM[1] * 1024, 0)
MsgBox(0, 'Ergebnis', $sOut)
[/autoit] [autoit][/autoit] [autoit];===============================================================================
; Function Name: _ByteAutoSize($iSize[, $iRound][, $iFormat][, $bThousands])
; Description:: Gibt einen Bytewert in einer bestimmten Einheit zurück
; Parameter(s): $iSize = Größe in Byte übergeben
; $iRound = Anzahl der Nachkommastellen (0...8)
; $iFormat = bestimmt den Rückgabewert
; 0 = Automatisch (je nach übergebenen Wert)
; 1 = in Byte
; 2 = in KByte
; 3 = in MByte
; 4 = in GByte
; $bThousands = Rückgabe mit Tausendertrennzeichen (True/False)
; Requirement(s): #include <String.au3>
; Author(s): Oscar (http://www.autoit.de)
;===============================================================================
Func _ByteAutoSize($iSize, $iRound = 2, $iFormat = 0, $bThousands = True)
Local $aSize[4] = [' Byte', ' KByte', ' MByte', ' GByte'], $sReturn
If $iFormat < 0 Or $iFormat > 4 Then $iFormat = 0
If $iRound < 0 Or $iRound > 8 Then $iRound = 2
If Not IsBool($bThousands) Then $bThousands = False
$iSize = Abs($iSize)
If $iFormat = 0 Then
For $i = 30 To 0 Step -10
If $iSize > (2 ^ $i) Then
$iFormat = $i / 10 + 1
ExitLoop
EndIf
Next
EndIf
If $iFormat = 0 Then $iFormat = 1
$sReturn = StringFormat('%.' & $iRound & 'f', Round($iSize / (2 ^ (($iFormat - 1) * 10)), $iRound))
If $bThousands Then $sReturn = _StringAddThousandsSep($sReturn, '.', ',')
Return $sReturn & $aSize[$iFormat - 1]
EndFunc ;==>_ByteAutoSize
Func _StringAddThousandsSep($sString, $sThousands = -1, $sDecimal = -1)
Local $sResult = "" ; Force string
Local $rKey = "HKCU\Control Panel\International"
If $sDecimal = -1 Then $sDecimal = RegRead($rKey, "sDecimal")
If $sThousands = -1 Then $sThousands = RegRead($rKey, "sThousand")
;~ Local $aNumber = StringRegExp($sString, "(\d+)\D?(\d*)", 1)
Local $aNumber = StringRegExp($sString, "(\D?\d+)\D?(\d*)", 1) ; This one works for negatives.
If UBound($aNumber) = 2 Then
Local $sLeft = $aNumber[0]
While StringLen($sLeft)
$sResult = $sThousands & StringRight($sLeft, 3) & $sResult
$sLeft = StringTrimRight($sLeft, 3)
WEnd
;~ $sResult = StringTrimLeft($sResult, 1) ; Strip leading thousands separator
$sResult = StringTrimLeft($sResult, StringLen($sThousands)) ; Strip leading thousands separator
If $aNumber[1] <> "" Then $sResult &= $sDecimal & $aNumber[1]
EndIf
Return $sResult
EndFunc ;==>_StringAddThousandsSep
vielen dank Oscar ![]()
Zitatdanke ich schaue mir das mal an
@Oscar...genau das meinte ich...auf einmal gehts, man beachte die Reihenfolge der Postings
Zitatwarum machst du mich gleich so an
das kann ich dir genau erklären: Du fragst in deinem Startpost nach einer "Möglichkeit mit Autoit die Systemkomponenten einen PC's herauszufinden". Du warst nicht in der Lage, das was du wirklich wolltest, nämlich "brauche nur den Takt der CPU, GPU RAM und wie viel Arbeitsspeicher" im ersten Post unterzubringen. Sollen wir das aus unserer Glaskugel lesen?
Weiterhin hast du nicht beschrieben, wo du schon gesucht, bzw. was du zu diesem Thema schon gefunden, aber nicht verstanden hast!
Selbst in der von mir nicht geliebten Forensuche findet man z.B. mit den Suchbegriffen "Taktfrequenz Prozessor" rechlich Threads zum Thema. Auch Fehlanzeige....
Für mich ist all das ein Hinweis darauf, daß dir mal jemand "den Arm aus der Sonne legen soll...". Was in dem Fall auch (dank eines gutmütigen Forenmitglieds) hervorragend geklappt hat!
Andy, im Prinzip gebe ich Dir ja recht, aber die WMI-Abfragen zu verstehen ist als Anfänger nicht so einfach.
Und wenn man dann als Neuling sowas aus einem Script "rauslesen" soll, kann das schon eine Nummer zu groß sein.
Da finde ich die Fragen, die man allein durch lesen der Hilfe hätte lösen können, viel schlimmer.
Letztendlich helfen wir doch gern (sonst wären wir nicht hier) und außerdem habe ich heute gute Laune. ![]()