Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   WMI-Informationen auslesen (https://www.delphipraxis.net/60431-wmi-informationen-auslesen.html)

Alter Mann 6. Jan 2006 19:11


WMI-Informationen auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich weis ein blöder Titel, und andere Bsp. gibt es mitlerweile auch genug :wink: , 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. :hello:

PS Ein gesundes neues Jahr, Euch allen.

Gruss
Alter Mann


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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