Einzelnen Beitrag anzeigen

Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
948 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

WMI-Informationen auslesen

  Alt 6. Jan 2006, 19:11
Hallo,

ich weis ein blöder Titel, und andere Bsp. gibt es mitlerweile auch genug , aber
trozdem; noch ein kleines Beispiel.

Es soll als Anregung und zum weiteren Experimentieren dienen.

Augebaut ist es wie folgt:

Delphi-Quellcode:
  TCustomWMIObject = class(TWMI_Object)
  private
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
    function GetItems(Index : Integer) : TVarEntry;
  public
    { Public-Deklarationen }
    function Execute : Boolean; virtual;
    function ItemCount : Integer;
    property Items[Index : Integer] : TVarEntry read GetItems;
  published
    { Published-Deklarationen }
    property Connection;
  end;

  TMainBoard = class(TCustomWMIObject)
  private
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
    procedure InitWMIObject; override;
  public
    { Public-Deklarationen }
    function Execute : Boolean; override;
  published
    { Published-Deklarationen }
  end;
TCustomWMIObject ist das 'Grundobjekt' von den alle weiteren 'abgeleitet' sind.
So beschränkt sich die Implementation neuer Componenten auf InitWMIObject und Execute,
wobei in InitWMIObject nur die Namen der jeweiligen Werte eingetragen werden müssen.

Bsp.
Delphi-Quellcode:
  FVariableList.Add('Manufacturer', vtVariant);
  BCS := FVariableList.Add('BiosCharacteristics', vtSet);
  FVariableList.Add('BIOSVersion', vtObject, TStringList.Create);
  FVariableList.Add('BuildNumber', vtVariant);
Die genaue Funktionsweise entnehmt bitte dem Code im Anhang.

Ihr seid also aufgerufen, das Beispiel sinnvoll zuverbessern, denn unterm Strich
habe wir alle etwas davon.

PS Ein gesundes neues Jahr, Euch allen.

Gruss
Alter Mann
Angehängte Dateien
Dateityp: zip wmi_158.zip (39,5 KB, 50x aufgerufen)
  Mit Zitat antworten Zitat