![]() |
CPU Name
Hallo,
Ich wollte mal fragen wie ich mit Delphi (Konsolenanwendung) den Namen meiner CPU auslesen kann ;) |
AW: CPU Name
Ich würde es mal über
![]() ![]() [edit] oder gemäss Stackoverflow sollte es auch über die Registry möglich sein: ![]() ![]() [/edit] |
AW: CPU Name
Ja, das mit der Registry habe ich auch schon gesehen, das hat bei mir allerdings nicht funktioniert. Wurde nichts angezeigt.
Danach kam ich ebenfalls auf die Idee mit PROCCESSOR_IDENTIFIER auszulesen, das hat auch bedingt geklappt. Es wird das hier ausgelesen: Intel64 Family 6 Model 42 Stepping 7, GenuineIntel Es soll aber das hier angezeigt werden: ![]() |
AW: CPU Name
Liste der Anhänge anzeigen (Anzahl: 1)
Den Code im Anhang habe ich irgendwann (wahrscheinlich hier in der DP) aufgeschappt.
Author unbekannt. |
AW: CPU Name
Delphi-Quellcode:
Für mehr Infos einfach den Wmi Delphi Code Creator herunterladen und selbst damit herumprobieren ;)
//-----------------------------------------------------------------------------------------------------
// This code was generated by the Wmi Delphi Code Creator (WDCC) Version 1.7.7.1 // http://code.google.com/p/wmi-delphi-code-creator/ // Blog http://theroadtodelphi.wordpress.com/wmi-delphi-code-creator/ // Author Rodrigo Ruz V. (RRUZ) Copyright (C) 2011-2012 //----------------------------------------------------------------------------------------------------- // // LIABILITY DISCLAIMER // THIS GENERATED CODE IS DISTRIBUTED "AS IS". NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. // YOU USE IT AT YOUR OWN RISK. THE AUTHOR NOT WILL BE LIABLE FOR DATA LOSS, // DAMAGES AND LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING OR MISUSING THIS CODE. // //---------------------------------------------------------------------------------------------------- program GetWMI_Info; {$APPTYPE CONSOLE} uses SysUtils, ActiveX, ComObj, Variants; // Die Klasse "Win32_Processor" stellt eine Gerät zum Übersetzen von sequentiellen // Computeranweisungen in einem Win32-Computersystem dar. Für jeden Prozessor ist // eine Instanz dieser Klasse vorhanden. procedure GetWin32_ProcessorInfo; const WbemUser =''; WbemPassword =''; WbemComputer ='localhost'; wbemFlagForwardOnly = $00000020; var FSWbemLocator : OLEVariant; FWMIService : OLEVariant; FWbemObjectSet: OLEVariant; FWbemObject : OLEVariant; oEnum : IEnumvariant; iValue : LongWord; begin; FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator'); FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword); FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_Processor','WQL',wbemFlagForwardOnly); oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant; while oEnum.Next(1, FWbemObject, iValue) = 0 do begin Writeln(Format('Name %s',[String(FWbemObject.Name)]));// String Writeln(''); FWbemObject:=Unassigned; end; end; begin try CoInitialize(nil); try GetWin32_ProcessorInfo; finally CoUninitialize; end; except on E:EOleException do Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode])); on E:Exception do Writeln(E.Classname, ':', E.Message); end; Writeln('Press Enter to exit'); Readln; end. |
AW: CPU Name
Danke :)
|
AW: CPU Name
Liste der Anhänge anzeigen (Anzahl: 1)
Ich mische für die CPU-Daten die Werte aus den Umgebungs-Parametern (Environment) und der Registry, weil die Werte im Environment teils eindeutiger sind und die Hampelei mit der Anzahl der Kerne in der Registry zu aufwändig ist (und ich saufaul bin). Allerdings bekommt man den "echten" CPU-Namen und den Takt nur aus der Registry - deshalb die Mischung.
Code:
Aus Registry (-> liefert)
HKEY_LOCAL_MACHINE,'Hardware\Description\System\CentralProcessor\0' (Kern 0..n) 'ProcessorNameString' -> AMD Phenom(tm) II X4 965 Processor [Nur in Reg.] 'Identifer' -> x86 Family 16 Model 4 Stepping 3 [Identisch mit Environment] 'VendorIdentifer' -> AuthenticAMD [Identisch mit Environment] '~MHz' -> 3415 [Nur in Reg.] Aus Umgebungs-Parametern (Environment) (-> liefert) 'PROCESSOR_IDENTIFIER' -> x86 Family 16 Model 4 Stepping 3, AuthenticAMD 'PROCESSOR_ARCHITECTURE' -> x86 'NUMBER_OF_PROCESSORS' -> 4 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz