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