Autor Beitrag
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Mo 25.02.08 21:58 
HI,

ich beschäftige mich zur Zeit mit der WMI, wie man die Properties ausliest weiß ich schon. Jetzt will ich die Methoden er
einzellnen Klassen benutzen, aber ich bekomm es einfach nicht hin, kann mir da bitte jemand helfen?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
procedure SetWMIProperty(wmiHost, wmiClass, wmiProperty, wmiMethod : string);
var Locator:  ISWbemLocator;
var Services: ISWbemServices;
var SObject:  ISWbemObject;
var ObjSet:   ISWbemObjectSet;
var SMeth:    ISWbemMethod;
var SProp:    ISWbemProperty;
var Enum:     IEnumVariant;
var Value:    Cardinal;
var TempObj:  OleVariant;
begin
  try
    Locator := CoSWbemLocator.Create;
    Services :=  Locator.ConnectServer('', 'root\cimv2', '', '', '','', 0, nil);
    ObjSet := Services.ExecQuery('SELECT * FROM '+wmiClass, 'WQL',
    wbemFlagReturnImmediately and wbemFlagForwardOnly , nil);
    Enum :=  (ObjSet._NewEnum) as IEnumVariant;
    while (Enum.Next(1, TempObj, Value) = S_OK) do
      begin
        SObject := IUnknown(tempObj) as ISWBemObject;
        SMeth := SObject.Methods_.Item(wmiMethod, 0);
        SProp := sMeth.InParameters.GetObjectText_(0);
        SProp.Set_Value(???);
      end;
  except
   on exception do MessageDLG('FEHLER',mtError,[mbOK],0);
   end;
end;

Kennst sich da jemand aus?!
Ich hab gestern die ganze Nacht da dran gesessen!

MfG & Thx Bergmann.

Moderiert von user profile iconNarses: Beitragsformatierung überarbeitet.