Hallo ich habe eine
WMI Lösung gefunden.
ich habe mir das Demo von
WMI and SMART Components von Magenta Systems Angesehen und dort eine Lösung Gefunden.
Hier der teil des Codes den ich jetzt als Vorlage nutze.
Code:
procedure TForm1.doGetClassClick(Sender: TObject);
var
rows, instances, I, J: integer ;
WmiResults: T2DimStrArray ;
OldCursor: TCursor ;
errstr: string ;
begin
doGetClass.Enabled := false ;
OldCursor := Screen.Cursor ;
Screen.Cursor := crHourGlass ;
StatusBar.SimpleText := '' ;
try
ListView.Items.Clear ;
Application.ProcessMessages ;
rows := MagWmiGetInfoEx (edtComputer.Text, edtNameSpace.Text, edtUser.Text,
edtPass.Text, edtClass.Text, WmiResults, instances, errstr) ;
if rows > 0 then
begin
StatusBar.SimpleText := 'Instances: ' + IntToStr (instances) ;
if instances >= ListView.Columns.Count then
instances := ListView.Columns.Count - 1 ;
for J := 0 to instances do
ListView.Columns.Items [J].Caption := WmiResults [J, 0] ;
for I := 1 to rows do
begin
with ListView.Items.Add do
begin
Caption := WmiResults [0, I] ;
for J := 1 to instances do
SubItems.Add (WmiResults [J, I]) ;
end ;
end ;
end
else if rows = -1 then
StatusBar.SimpleText := 'Error: ' + errstr
else
StatusBar.SimpleText := 'Instances: None' ;
finally
doGetClass.Enabled := true ;
Screen.Cursor := OldCursor ;
WmiResults := Nil ;
end ;
end;
Und nochmal Danke an alle ihr seit die Besten.