Thema: Delphi Unit für HardwareInfos

Einzelnen Beitrag anzeigen

Scorpion3000

Registriert seit: 18. Apr 2004
47 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Unit für HardwareInfos

  Alt 14. Dez 2005, 09:16
Ok! Das mit dem Published hab ich augebessert. Heißt hetzt _Published

WBemScripting_TLB.dcu: Um diese Unit zu erhalten müsst ihr die Typenbibliothek "Microsoft WMI Scripting V 1.2 Library ..." importieren.

Es gibt insgesamt 35 Klassen, die alle relativ ähnlich aufgebaut sind. Es ist viele einfacher ihr schaut mal rein, als wie wenn ich hier alle auf Liste. Ansonsten gibt es in der MSDN eine Erklärung zu jeder Klasse. Hab hauptsächlich einmal die Hardware Klassen eingebaut. Allerdings ohne deren Methoden. War eh schon sehr, sehr viel Arbeit.

Kurz noch ein paar Worte zu den Klassen. Die meisten Klassen stellen Funktionen bereit, um den zu einem bestimmten Wert gehörenden Text auszugeben. Z.B:

    function TWin32_Battery.AvailabilityToStr(Availability: uint16): string; Jede Klasse besitzt ein Property namens Item und eines namens ItemCount. Jedes Item steht für eine Liste aus Klassenspezifische Properties.

Ein kurzes Beispiel (ungetestet):

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   i1: integer;
   CPU: TWIN32_Processor;
begin
   CPU:= TWIN32_Processor.Create(true);
   for i1:= 0 to CPU.ItemCount-1 do begin
      Memo1.Lines.Add('Caption: '+CPU.Item[i1].Caption);
      Memo1.Lines.Add('Architecture: '+CPU.ArchitectureToStr(CPU.Item[i1].Architecture));
      Memo1.Lines.Add('Clock: '+inttostr(CPU.Item[i1].MaxClockSpeed));
      Memo1.Lines.Add('Family: '+CPU.FamilyToStr(CPU.Item[i1].Family));
      Memo1.Lines.Add('ProcessorType: '+CPU.ProcessorTypeToStr(CPU.Item[i1].ProcessorType));
      Memo1.Lines.Add('Description: '+CPU.Item[i1].Description);
      Memo1.Lines.Add('DeviceID: '+CPU.Item[i1].DeviceID);
      Memo1.Lines.Add('ErrorDescription: '+CPU.Item[i1].ErrorDescription);
      Memo1.Lines.Add('Manufacturer: '+CPU.Item[i1].Manufacturer);
      Memo1.Lines.Add('Name: '+CPU.Item[i1].Name);
      Memo1.Lines.Add('OtherFamilyDescription: '+CPU.Item[i1].OtherFamilyDescription);
      Memo1.Lines.Add('ProcessorId: '+CPU.Item[i1].ProcessorId);
      Memo1.Lines.Add('SocketDesignation: '+CPU.Item[i1].SocketDesignation);
      Memo1.Lines.Add('Status: '+CPU.Item[i1].Status);
      Memo1.Lines.Add('SystemName: '+CPU.Item[i1].SystemName);
      Memo1.Lines.Add('UniqueId: '+CPU.Item[i1].UniqueId);
      Memo1.Lines.Add('Version: '+CPU.Item[i1].Version);
      Memo1.Lines.Add('Voltage: '+CPU.VoltageCapsToStr(Cpu.Item[i1].VoltageCaps));
   end;
end;


Mfg Scorpion3000
Angehängte Dateien
Dateityp: pas wmicontrol_136.pas (522,5 KB, 139x aufgerufen)
  Mit Zitat antworten Zitat