Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: HTML-Signalstärke auslesen

  Alt 25. Jan 2013, 19:41
Delphi-Quellcode:
program WMI_SQL;


{$APPTYPE CONSOLE}

uses
  SysUtils,
  WBEMScripting_TLB,
  ActiveX,
  Variants,
  Classes;

Procedure GetWMIstring(Const wmiHost, root, Query: string;sl:TStrings);
// 2012 by Thomas Wassermann (bummi)
var
  Services: ISWbemServices;
  SObject: ISWbemObject;
  ObjSet: ISWbemObjectSet;
  Enum: IEnumVariant;
  Value: Cardinal;
  TempObj: OLEVariant;
  loc: TSWbemLocator;
begin
  if Assigned(sl) then

  try
    loc := TSWbemLocator.Create(nil);
    Services := Loc.ConnectServer(wmiHost, root , '', '', '', '', 0, nil);
    ObjSet := Services.ExecQuery(Query, 'WQL',wbemFlagForwardOnly or wbemFlagReturnWhenComplete, nil);
    Enum := (ObjSet._NewEnum) as IEnumVariant;
    if not VarIsNull(Enum) then
      try
        while Enum.Next(1, TempObj, Value) = S_OK do
        begin
          try
            SObject := IUnknown(TempObj) as ISWBemObject;
          except SObject := nil;
          end;
          if Assigned(SObject) then SL.add( Sobject.GetObjectText_(0));
          end;
      except

      end;
    Enum := nil;
    Services := nil;
    ObjSet := nil;
  except

  end;
end;

var
 sl:TStringList;
begin
  try
    sl:=TStringList.Create;
   // GetWMIstring('.', 'root\CIMV2', 'SELECT * FROM WiFi_AdapterAssociationInfo',sl) ;
   // GetWMIstring('.', 'root\CIMV2', 'SELECT * FROM WiFi_AdapterAssocStats',sl) ;
   // GetWMIstring('.', 'root\CIMV2', 'SELECT * FROM WiFi_AdapterSignalParameters',sl) ;
     GetWMIstring('.', 'root\CIMV2', 'SELECT * FROM WiFi_AdapterCachedScanList',sl) ;
    WriteLn(sl.Text);
    readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

eine etwas hübschere Version gebe ich nur ohne Source ab.
BTW: es gibt Abfragen die sehr lange dauern und auch einige die für eine Abfrage hiermit nicht geeignet sind, da ein Abbruchkriterium fehlt.
Miniaturansicht angehängter Grafiken
wmiquery.png  
Angehängte Dateien
Dateityp: zip WMI_Query.zip (2,43 MB, 80x aufgerufen)
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (25. Jan 2013 um 19:55 Uhr)
  Mit Zitat antworten Zitat