AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi WLAN-Signalstärke auslesen

WLAN-Signalstärke auslesen

Ein Thema von loirad · begonnen am 25. Jan 2013 · letzter Beitrag vom 26. Jan 2013
Antwort Antwort
loirad

Registriert seit: 25. Nov 2009
135 Beiträge
 
Delphi 6 Professional
 
#1

WLAN-Signalstärke auslesen

  Alt 25. Jan 2013, 15:17
Hallo liebe Community,

ich habe eine Frage (wie sollte es auch anders sein ): Wie kann ich die Signalstärken der verfügbaren WLAN-Hotspots (mit zugehöriger MAC-Adresse) mit Delphi auslesen. Die Beiträge, die ich gefunden habe erschließen sich mir nicht komplett bzw. beinhalten inaktive Links, da die Beiträge schon einige Jährchen exsistieren.

Liebe Grüße
loirad
Wer Fehler findet darf sie behalten!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: HTML-Signalstärke auslesen

  Alt 25. Jan 2013, 15:31
OT:

Warum ist die Überschrift dann HTML-Signalstärke auslesen und nicht WLAN Signalstärke auslesen?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
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
loirad

Registriert seit: 25. Nov 2009
135 Beiträge
 
Delphi 6 Professional
 
#4

AW: WLAN-Signalstärke auslesen

  Alt 25. Jan 2013, 20:15
Zitat:
Warum ist die Überschrift dann HTML-Signalstärke auslesen und nicht WLAN Signalstärke auslesen?
Oh entschuldigung - Fehler meinerseits. Wie zum Teufel bin ich auf HTML gekommen? Ich meinte jedenfalls WLAN-Signalstärke auslesen!

Zitat:
Delphi-Quellcode:
Vielen Dank, werde ich bei Gelegenheit ausprobieren!

Edit: Ich kann den Eintrag "Select * from WiFi_AdapterCachedScanList" im Drop-Down Menü nicht finden?
Edit²: Ich bekomme eine Fehlermeldung, das die WBEMScripting_TLB.dcu nicht existiert. Wo finde ich die?

Zitat:
eine etwas hübschere Version gebe ich nur ohne Source ab.
Ist ok und kann ich auch voll verstehen!
Wer Fehler findet darf sie behalten!

Geändert von loirad (25. Jan 2013 um 20:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

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

AW: WLAN-Signalstärke auslesen

  Alt 25. Jan 2013, 21:36
ich weiß nicht wo es bei D6 versteckt ist, ich finde es unter:

Komponente importieren
Typbibliothek importieren
Microsoft WMI Scripting V1.2 Library

Du kannst in der Combobox auch eigene "SQL's" eingeben, die Auswahl ist mehr als Hilfe zu sehen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
loirad

Registriert seit: 25. Nov 2009
135 Beiträge
 
Delphi 6 Professional
 
#6

AW: WLAN-Signalstärke auslesen

  Alt 25. Jan 2013, 22:00
Zitat:
ich weiß nicht wo es bei D6 versteckt ist
Es ist unter Projekt - Typbibliothek importieren (siehe http://www.delphipraxis.net/95849-mi...2-library.html)

Ich werde es am Wochenende weiter ausprobieren und mich bei Fragen melden. Vielen Dank schonmal dafür!
Wer Fehler findet darf sie behalten!

Geändert von loirad (26. Jan 2013 um 13:09 Uhr)
  Mit Zitat antworten Zitat
loirad

Registriert seit: 25. Nov 2009
135 Beiträge
 
Delphi 6 Professional
 
#7

AW: WLAN-Signalstärke auslesen

  Alt 26. Jan 2013, 13:09
Der Quelltext funktioniert ohne Probleme. Jedoch functioniert die Anfrage "SELECT * FROM WiFi_AdapterCachedScanList" werder bei dem Quelltext, noch mit der exe. Woran kann das liegen? Es wird einfach nichts ausgegeben - sl bleibt leer.
Wer Fehler findet darf sie behalten!
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#8

AW: WLAN-Signalstärke auslesen

  Alt 26. Jan 2013, 20:02
Warum WMI und nicht Native WiFi API?

http://www.delphibasics.info/home/de...ts/wifiscanner
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz