Einzelnen Beitrag anzeigen

Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#22

Re: WLAN Signalstärke auslesen???

  Alt 16. Mai 2010, 17:08
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;
}
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat