AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Prozessor herausfinden, neuere Version ?

Ein Thema von hoika · begonnen am 7. Dez 2011 · letzter Beitrag vom 8. Dez 2011
Antwort Antwort
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#1

AW: Prozessor herausfinden, neuere Version ?

  Alt 7. Dez 2011, 17:38
Auf meinem Mininotebook Win7 ist o.g. so lauffähig .....
der Rest sind NULL Werte

Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses

  SysUtils,
  ActiveX,
  ComObj,
  Variants;

procedure GetCIM_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 CIM_Processor','WQL',wbemFlagForwardOnly);
  oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  while oEnum.Next(1, FWbemObject, iValue) = 0 do
  begin
    Writeln(Format('AddressWidth %d',[Integer(FWbemObject.AddressWidth)]));// Uint16
    Writeln(Format('Availability %d',[Integer(FWbemObject.Availability)]));// Uint16
    Writeln(Format('Caption %s',[String(FWbemObject.Caption)]));// String
// Writeln(Format('ConfigManagerErrorCode %d',[Integer(FWbemObject.ConfigManagerErrorCode)]));// Uint32
// Writeln(Format('ConfigManagerUserConfig %s',[String(FWbemObject.ConfigManagerUserConfig)]));// Boolean
    Writeln(Format('CreationClassName %s',[String(FWbemObject.CreationClassName)]));// String
    Writeln(Format('CurrentClockSpeed %d',[Integer(FWbemObject.CurrentClockSpeed)]));// Uint32
    Writeln(Format('DataWidth %d',[Integer(FWbemObject.DataWidth)]));// Uint16
    Writeln(Format('Description %s',[String(FWbemObject.Description)]));// String
    Writeln(Format('DeviceID %s',[String(FWbemObject.DeviceID)]));// String
// Writeln(Format('ErrorCleared %s',[String(FWbemObject.ErrorCleared)]));// Boolean
// Writeln(Format('ErrorDescription %s',[String(FWbemObject.ErrorDescription)]));// String
    Writeln(Format('Family %d',[Integer(FWbemObject.Family)]));// Uint16
// Writeln(Format('InstallDate %s',[String(FWbemObject.InstallDate)]));// Datetime
// Writeln(Format('LastErrorCode %d',[Integer(FWbemObject.LastErrorCode)]));// Uint32
    Writeln(Format('LoadPercentage %d',[Integer(FWbemObject.LoadPercentage)]));// Uint16
    Writeln(Format('MaxClockSpeed %d',[Integer(FWbemObject.MaxClockSpeed)]));// Uint32
    Writeln(Format('Name %s',[String(FWbemObject.Name)]));// String
// Writeln(Format('OtherFamilyDescription %s',[String(FWbemObject.OtherFamilyDescription)]));// String
// Writeln(Format('PNPDeviceID %s',[String(FWbemObject.PNPDeviceID)]));// String
// Writeln(Format('PowerManagementCapabilities %d',[Integer(FWbemObject.PowerManagementCapabilities)]));// Uint16
    Writeln(Format('PowerManagementSupported %s',[String(FWbemObject.PowerManagementSupported)]));// Boolean
    Writeln(Format('Role %s',[String(FWbemObject.Role)]));// String
    Writeln(Format('Status %s',[String(FWbemObject.Status)]));// String
    Writeln(Format('StatusInfo %d',[Integer(FWbemObject.StatusInfo)]));// Uint16
// Writeln(Format('Stepping %s',[String(FWbemObject.Stepping)]));// String
    Writeln(Format('SystemCreationClassName %s',[String(FWbemObject.SystemCreationClassName)]));// String
    Writeln(Format('SystemName %s',[String(FWbemObject.SystemName)]));// String
// Writeln(Format('UniqueId %s',[String(FWbemObject.UniqueId)]));// String
    Writeln(Format('UpgradeMethod %d',[Integer(FWbemObject.UpgradeMethod)]));// Uint16

    Writeln('');
    FWbemObject:=Unassigned;
  end;
end;


begin



  try
    { TODO -oEntwickler -cKonsole Main : Hier Code einfügen }
    Coinitialize(nil);
    GetCIM_ProcessorInfo;
    CoUninitialize;
    Readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
ASM

Registriert seit: 15. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Prozessor herausfinden, neuere Version ?

  Alt 7. Dez 2011, 18:21
Oder anstelle einer unmittelbaren Ausgabe per writeln() (besser ?) indirekt gleich so:

Code:
procedure GetOleObjectInfo(msg: string; obj: Olevariant);
  begin
    if not VarIsNull(obj) then
    begin
      if VarIsStr(obj) then
        Writeln(Format('%s: %s', [msg, string(obj)]))
      else
        if VarIsNumeric(obj) then
          Writeln(Format('%s: %d', [msg, Integer(obj)]))
        else
          Writeln(Format('%s: <unknown OleVariant Type>', [msg]));
    end
    else
      Writeln(Format('%s: not available', [msg]));
  end;
Also dann statt:
Code:
 Writeln(Format('AddressWidth %d',[Integer(FWbemObject.AddressWidth)]));
vielmehr:
Code:
GetOleObjectInfo('AddressWidth',FWbemObject.AddressWidth);
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Prozessor herausfinden, neuere Version ?

  Alt 8. Dez 2011, 07:08
Hallo,

hm, was schreibe ich bei den TODO jetzt rein ???

DANKE


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 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