Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   WLanManager WLanAPI (https://www.delphipraxis.net/103216-wlanmanager-wlanapi.html)

devidespe 21. Nov 2007 10:50

Re: WLanManager WLanAPI
 
Ich muss das WLANTool der Uni Regensburg mal auf meinem Notebook testen, weil dort nicht die API-DLL installiert ist. Ich denke, Windows ist von Haus aus mit bestimmten Standard-API Funktionen ausgestattet, über die bspw. die Netzwerkumgebung WLAN-Infos abfragen kann. Und diese API's scheint das Tool wohl zu nutzen. Auf der Homepage steht nichts von der speziellen API DLL.

Leider gibts das Programm nicht als Source. Hier herrscht also noch Nachholbedarf.

nitschchedu 21. Nov 2007 10:56

Re: WLanManager WLanAPI
 
Toll das basiert auf NDIS Objekt .... und dieses geht dann auch auf den Schnittstelle wie die WLAnAPI ... das macht für mich keinen unterschied :gruebel: dasmit dem NDIS sieht ehr schwieriger aus :angel2:

devidespe 21. Nov 2007 14:00

Re: WLanManager WLanAPI
 
Der Unterschied ist erstens, dass kein separates MS Update installiert werden muss und zweitens, dass diese Schnittstelle auch unter Vista funktioniert. Die bisherige WLAN API-DLL existiert nur für XP.

Das sind in meinen Augen 2 Vorteile, die sicherlich mit etwas mehr Arbeit daherkommen. Aber dafür erreicht man mehr Zielsysteme und eine MS Update-unabhängige API-Ansteuerung... :zwinker:

nitschchedu 21. Nov 2007 14:31

Re: WLanManager WLanAPI
 
Also die WlanAPI ist bei Vista standart (steht so im MSDN) und ab SP3 für XP wirst du so oder so die WLanAPI haben :lol:
Aber ich spiele mit den Gedanken beides in Kombination zubenutzen .... beides hat vor und nachteile ;-)

devidespe 21. Nov 2007 14:35

Re: WLanManager WLanAPI
 
Ich denke, sobald die 2. Variante steht, hat man einen technischen Überblick und kann die Vor- sowie Nachteile miteinander abwägen.

nitschchedu 21. Nov 2007 16:05

Re: WLanManager WLanAPI
 
Zitat:

Sag mal deine Erfahrungen, evtl. können wir uns etwas mehr austauschen.
Wäre Cool wenn du mitmachst am Projekt ^^ !?

Ich werde auch 2 möglichkeit mit aufnehmen ! (NDIS)

devidespe 21. Nov 2007 16:18

Re: WLanManager WLanAPI
 
Also ich weiss zwar net, von welchem Post Du das Zitat gtenommen hast, aber ich bin dabei.

Mein Ziel wäre zwar vorrangig die Ansteuerung ohne API-DLL, man könnte aber beide Varianten aufnehmen. Wichtig ist auch Vista und eine Art WLAN-Verbindungstest.

nitschchedu 21. Nov 2007 17:31

Re: WLanManager WLanAPI
 
Oh hab dich verwechselt :oops: aber trotzdem cool das du mit machst ^^. Ich schau dann mal die NDIS zuübersetzen :coder: .

jogging_cat 3. Dez 2007 09:18

Re: WLanManager WLanAPI
 
Hi nitschchedu,

ich würde da auch gerne mitmachen. Bei mir hängt es aber derzeit.
Jetzt habe ich erst mal mitbekommen, dass WlanGetNetworkBssList unter XP SP2
nicht funktioniert. OK.

Dann hapert es noch bei WlanScan. Das klappt bei mir überhaupt nicht.
Weder mit noch ohne gestartetes Wlan. Klappt bei deiner Project1.exe
aber auch nicht so 100%ig. Gerade einmal habe ich im unteren Teil
Einträge gesehen.

Ich benötige erst mal Hilfe für WlanScan. Als erstes wird diese registrierte
CallBack-Prozedur nie aufgerufen. Der Aufruf passierte nur manchmal in einer
Umgebung mit schwachem Funk, da sah ich aber nur so was wie
wlan_notification_acm_disconnected

Ich hänge mal etwas Code von mir an. Wäre dankbar über eine Antwort.

Delphi-Quellcode:
Die CallBack-Prozedur:

//=========== Prozedur NotifiCallback ==========================================
procedure NotifiCallback(pNotifData:PWLAN_NOTIFICATION_DATA; pContext:PVOID); stdcall;
var
   Source:DWord;
begin
   if pNotifData<>nil then
   begin
      Source:=pNotifData.NotificationSource;
      if (Source and WLAN_NOTIFICATION_SOURCE_ALL) > 0 then
      begin
         case pNotifData^.NotificationCode of
            wlan_notification_acm_scan_complete:
               begin
                  SetEvent(THandle(pContext^));
               end;
         end; // case pNotifData^.NotificationCode of
      end; // if pNotifData^.NotificationSource of
   end // if pNotifData<>nil
end; // function NotifiCallback


Die Funktion WlanScan:
//=========== Funktion WlanScan ================================================
function TWlanClass.WlanScan(InterfaceIndex:integer): DWORD;
var
   mGUID:TGUID;
   ergebnis:DWORD; hScanCompleteEvent: THandle;
   hClientHandle:THandle; dwNegotiatedVersion: WORD;
begin
    ergebnis:=WlanOpenHandle(WLAN_API_VERSION,nil,@dwNegotiatedVersion,@hClientHandle);
    mGUID:=InterfaceInfoArr[InterfaceIndex].InterfaceGuid;

    hScanCompleteEvent:=CreateEvent(nil, False, False, nil);

    result:=WlanRegisterNotification(hClientHandle,WLAN_NOTIFICATION_SOURCE_ALL
       ,true,@NotifiCallback,@hScanCompleteEvent,nil,@dwPrevNotifSource);

    ergebnis:=nduWlanAPI.WlanScan(hClientHandle,@mGUID,nil,nil,nil);

    result:=ergebnis;

    if ergebnis=ERROR_SUCCESS then
    begin
       WaitForSingleObject(hScanCompleteEvent, 20*1000);
       //ShowMessage('Scan complete.');
    end;

    // UnregisterNotification
    WlanRegisterNotification(hClientHandle,WLAN_NOTIFICATION_SOURCE_NONE
       ,true,nil,nil,nil,@dwPrevNotifSource);

    WlanCloseHandle(hClientHandle,nil);

end; // function WlanScan(InterfaceIndex:integer): boolean;

Ich bin dabei eine ActiveX-DLL für Wlan zu erstellen zur Nutzung in weiteren
Programmiersprachen (z. B. Visual Basic, Delphi).
Daher habe ich das bisher in einer Klasse.

Grüße jogging_cat

jogging_cat 3. Dez 2007 09:47

Re: WLanManager WLanAPI
 
Hi,

ich habe gerade einen kleinen Fehler entdeckt:

Delphi-Quellcode:
dwNegotiatedVersion: DWORD;
Die CallBack-Prozedur ist zwischendurch mal aufgerufen worden,
aber nicht für wlan_notification_acm_scan_complete, sondern
für wlan_notification_acm_disconnected und wlan_notification_acm_connection_complete.

Also ist an der Prozedur bzw. am Registrieren kein Fehler (oder?)

Wie kann ich denn an dem Projekt mitmachen?
Bisher hat doch fast die ganze Arbeit nitschchedu gemacht.

Grüße jogging_cat


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 Uhr.
Seite 2 von 6     12 34     Letzte »    

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