Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi WLAN Signalstärke auslesen??? (https://www.delphipraxis.net/151162-wlan-signalstaerke-auslesen.html)

Muellermilchtrinker 7. Mai 2010 21:31


WLAN Signalstärke auslesen???
 
Hallo DP,

weiß jemand, wie ich von Windoof das WLAN Signal auslesen kann. Am besten wäre es noch wenn man es in Prozent auslesen kann.
Ich wäre euch sehr dankbar, wenn ihr mir helfen könnt.

Gruß
Müllermilchtrinker

Luckie 7. Mai 2010 21:35

Re: WLAN Signal auslesen???
 
Schon mal nach WLan gesucht?

Namenloser 7. Mai 2010 21:37

Re: WLAN Signal auslesen???
 
Was ist ein WLAN-Signal?

blackfin 7. Mai 2010 21:38

Re: WLAN Signal auslesen???
 
WLAN :mrgreen:

Muellermilchtrinker 7. Mai 2010 21:40

Re: WLAN Signalstärke auslesen???
 
Ich mein jetzt die Signalstärke auslesen.
Ja ich hab schon gesucht, aber hab nichts gefunden.
Kann aber auch sein, dass ich mal wieder Tomaten auf den Augen hab und etwas übersehen hab. :stupid:

hathor 7. Mai 2010 21:49

Re: WLAN Signalstärke auslesen???
 
WMI
MSNdis_80211_ReceivedSignalStrength

http://www.delphi-forum.de/viewtopic...=455368#455368

Luckie 7. Mai 2010 21:52

Re: WLAN Signalstärke auslesen???
 
Zitat:

Zitat von Muellermilchtrinker
Ja ich hab schon gesucht, aber hab nichts gefunden.

Ich frage mich, wie du gesucht hast: http://www.delphipraxis.net/internal...highlight=wlan :?

Muellermilchtrinker 10. Mai 2010 17:08

Re: WLAN Signalstärke auslesen???
 
@hathor:
Könntest du das Beispielprogramm in Delphi vllt nochmal hier uppen. Wäre echt nett, weil ich im Delphi-Forum nicht angemeldet bin und es nicht vorhab.

RWarnecke 10. Mai 2010 17:34

Re: WLAN Signalstärke auslesen???
 
Zitat:

Zitat von Muellermilchtrinker
@hathor:
Könntest du das Beispielprogramm in Delphi vllt nochmal hier uppen. Wäre echt nett, weil ich im Delphi-Forum nicht angemeldet bin und es nicht vorhab.

Schaue mal den Sourcecode von Luckie an. Der macht genau das gleich wie von hathor.

hathor 11. Mai 2010 07:16

Re: WLAN Signalstärke auslesen???
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Muellermilchtrinker
@hathor:
Könntest du das Beispielprogramm in Delphi vllt nochmal hier uppen. Wäre echt nett, weil ich im Delphi-Forum nicht angemeldet bin und es nicht vorhab.

Gerne:

Muellermilchtrinker 12. Mai 2010 16:18

Re: WLAN Signalstärke auslesen???
 
Danke. Werde es gleich ausprobieren.

Edit: Komisch, ich komm bei deinem Testprogramm 2 mal einen Error raus.
Liegt es vllt daran, dass ich Vista Home Premium 32 Bit nutze???

Edit²: Ich habs jetzt mal über die IDE gestartet, dort bekomm ich diesen Fehler (nicht nur einmal):
Delphi-Quellcode:
Erste Gelegenheit für Exception bei $76BFFBAE. Exception-Klasse EOleException mit Meldung 'Nicht unterstützt'. Prozess Project1.exe (28660)

hathor 12. Mai 2010 18:53

Re: WLAN Signalstärke auslesen???
 
Deaktiviere die ACPI-Temperatur-Auslesung, dann siehst Du, ob es am WLAN-Teil liegt.

Muellermilchtrinker 12. Mai 2010 18:56

Re: WLAN Signalstärke auslesen???
 
Also es liegt am WLAN Teil.
Ich hab die Temperaturauslesung mal deaktiviert und es kommt immernoch der gleiche Error. :(

Muellermilchtrinker 13. Mai 2010 19:00

Re: WLAN Signalstärke auslesen???
 
*push*

Muellermilchtrinker 15. Mai 2010 17:05

Re: WLAN Signalstärke auslesen???
 
Immer noch keiner eine Idee???

RWarnecke 15. Mai 2010 18:10

Re: WLAN Signalstärke auslesen???
 
Hast Du mal nach Bei Google suchenMSNdis_80211_ReceivedSignalStrength gesucht ? Dann hättest Du diesen Link gefunden, der Dir zeigt, dass die Klasse nur unter Windows Xp und Windows 2003 Server zur Verfügung steht.

Muellermilchtrinker 15. Mai 2010 18:20

Re: WLAN Signalstärke auslesen???
 
Weiß jemand wie man das nun unter Vista zum laufen bekommt???

RWarnecke 15. Mai 2010 19:11

Re: WLAN Signalstärke auslesen???
 
Wie wäre es mal mit suchen ? Delphi-Referenz durchsuchenWLAN Hier im Forum suchenWLAN

Edit: Die Forum Suche hinzugefügt.

Muellermilchtrinker 15. Mai 2010 19:23

Re: WLAN Signalstärke auslesen???
 
Ich hab in meinem System32 ordner folgende dlls gefunden:

Code:
wlanapi.dll
wlancfg.dll
WLanConn.dll
wlandlg.dll
wlangpui.dll
WLanHC.dll
wlanhlp.dll
wlaninst.dll
WlanMM.dll
WlanMmHC.dll
wlanmsm.dll
wlanpref.dll
wlansec.dll
wlansvc.dll
wlanui.dll
wlanutil.dll
Mit drunter auch die WlanApi.dll. Was soll ich nun machen.
Hat jemand ein Tutorial, ich hab noch nie mit dlls gearbeitet

EDIT: Hab mir gerade das Tutorial auf delphi-treff durchgelesen. Einbinden könnte ich es nun, aber wie bekomme ich raus, welche Funktionen in der dll sind???

Mithrandir 16. Mai 2010 01:01

Re: WLAN Signalstärke auslesen???
 
Hast du das Ding mal mit Adminrechten gestartet? Unter Win7 arbeitet zumindest das Temperaturauslesen.

Muellermilchtrinker 16. Mai 2010 15:12

Re: WLAN Signalstärke auslesen???
 
Ich habs mal mit Adminrechten gestartet.
Immer noch bei beiden, bekomm ich ein Error zurück. :(
Vllt kann mir jemand ja sagen, wie ich das mit der obigen Wlanapi.dll oder einer der anderen dlls rausbekomm.

Muellermilchtrinker 16. Mai 2010 16:08

Re: WLAN Signalstärke auslesen???
 
Also ich hab nochmal gesucht und bin auf das gestoßen: WRAPI
Ich hab mir die WRAPI.dll runtergeladen und mit Dependency Walker geöffnet.
Dort gibt es auch die besagte long WRAPIGetSignalStrength(long *) Funktion.
Es gibt jetzt aber folgendes Problem bzw. Probleme:
a) Die dll ist in C++
b) Wie bekomme ich die Funktion, dass ich sie übersetzen kann oder
C) Wie kann ich die dll in Delphi verwenden???

Wäre nett wenn mir jemand helfen kann.

EDIT: Ich hab gerade gesehen, das der SOurceCode dort auch zum Download gibt.
Hab mal die Funktion rausgefischt:
Code:
HRESULT CWRAPIApp::GetSignalStrength(LONG * plRssi)
{
   UCHAR               QueryBuffer[1024];
   PNDISUIO_QUERY_OID      pQueryOid;

   if (!plRssi)
   {
      m_hRes = E_POINTER;
   }

   else
   {
      pQueryOid = (PNDISUIO_QUERY_OID)&QueryBuffer[0];
      pQueryOid->Oid = OID_802_11_RSSI;

      if (DeviceIoControl(m_hFileHandle,
                     IOCTL_NDISUIO_QUERY_OID_VALUE,
                     (LPVOID) &QueryBuffer[0],
                     sizeof(QueryBuffer),
                     (LPVOID) &QueryBuffer[0],
                     sizeof(QueryBuffer),
                     &m_dwBytesReturned,
                     NULL))
      {
         DEBUGP(("IOCTL GET_RSSI succeeded\n"));
         memcpy(plRssi, &pQueryOid->Data[0], sizeof(NDIS_802_11_RSSI));
      }

      else
      {
         m_dwError = GetLastError();
         DEBUGP(("IOCTL GET_RSSI failed: %d\n", m_dwError));
         m_hRes = E_FAIL;
      }
   }

   return m_hRes;
}

Muellermilchtrinker 17. Mai 2010 17:56

Re: WLAN Signalstärke auslesen???
 
Noch mal zurück zu dem Code von hathor.
Ich habs mal mit Breakpoints durchgestept und dort bekomm ich bei folgende Zeilen die Errors:
Delphi-Quellcode:
tmpstr := getWMIstring2('','MSAcpi_ThermalZoneTemperature','CurrentTemperature');
//und
tmpstr := getWMIstring2('','MSNdis_80211_ReceivedSignalStrength','Ndis80211ReceivedSignalStrength');
Und dort bekomm ich dann
Delphi-Quellcode:
''
und deswegen kommt bei der if-Abfrage dann else (also: Error) raus.
Noch mal die Errormeldung:
Delphi-Quellcode:
Erste Gelegenheit für Exception bei $776AFBAE. Exception-Klasse EOleException mit Meldung 'Nicht unterstützt'. Prozess Project1.exe (17936)
Meine Frage: Es wurde ja gesagt, dass das unter Vista nicht mehr bverfügbar ist. Kann man das vllt nachinstallieren???


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:42 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