AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte WLanManager WLanAPI

WLanManager WLanAPI

Ein Thema von nitschchedu · begonnen am 12. Nov 2007 · letzter Beitrag vom 9. Apr 2010
Antwort Antwort
Seite 2 von 6     12 34     Letzte » 
nitschchedu
Registriert seit: 24. Mär 2006
Ok um mal zusehen wie es ankommt möchte ich hier meinen WLan Manager vorstellen ^^.
Das Teil basiert auf der WLanAPI und ist noch nicht mal im Alpha status.
Aber es kan schon die Wlan Geräte auslesen und das Netzwerk Scannen ...

Benötig wird noch das Update von Microsoft (WlanAPI.dll)hier

Gestestet auf: Windows XP

Das Hauptthema soll eigentlich auf die WLanAPI gehen aber das mache ich nochmal anders
http://img148.imageshack.us/img148/4...enannt1gz0.jpg
Angehängte Dateien
Dateityp: exe wlanmanager_656.exe (580,5 KB, 791x aufgerufen)
Dateityp: rar source_180.rar (17,8 KB, 768x aufgerufen)
Programmieren ..... .
 
devidespe

 
Delphi 10.4 Sydney
 
#11
  Alt 21. Nov 2007, 10:50
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.
Devid
  Mit Zitat antworten Zitat
nitschchedu

 
Delphi 7 Professional
 
#12
  Alt 21. Nov 2007, 10:56
Toll das basiert auf NDIS Objekt .... und dieses geht dann auch auf den Schnittstelle wie die WLAnAPI ... das macht für mich keinen unterschied dasmit dem NDIS sieht ehr schwieriger aus
  Mit Zitat antworten Zitat
devidespe

 
Delphi 10.4 Sydney
 
#13
  Alt 21. Nov 2007, 14:00
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:
Devid
  Mit Zitat antworten Zitat
nitschchedu

 
Delphi 7 Professional
 
#14
  Alt 21. Nov 2007, 14:31
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
Aber ich spiele mit den Gedanken beides in Kombination zubenutzen .... beides hat vor und nachteile
  Mit Zitat antworten Zitat
devidespe

 
Delphi 10.4 Sydney
 
#15
  Alt 21. Nov 2007, 14:35
Ich denke, sobald die 2. Variante steht, hat man einen technischen Überblick und kann die Vor- sowie Nachteile miteinander abwägen.
Devid
  Mit Zitat antworten Zitat
nitschchedu

 
Delphi 7 Professional
 
#16
  Alt 21. Nov 2007, 16:05
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)
  Mit Zitat antworten Zitat
devidespe

 
Delphi 10.4 Sydney
 
#17
  Alt 21. Nov 2007, 16:18
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.
Devid
  Mit Zitat antworten Zitat
nitschchedu

 
Delphi 7 Professional
 
#18
  Alt 21. Nov 2007, 17:31
Oh hab dich verwechselt aber trotzdem cool das du mit machst ^^. Ich schau dann mal die NDIS zuübersetzen .
  Mit Zitat antworten Zitat
jogging_cat

 
Delphi 5 Enterprise
 
#19
  Alt 3. Dez 2007, 09:18
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
  Mit Zitat antworten Zitat
jogging_cat

 
Delphi 5 Enterprise
 
#20
  Alt 3. Dez 2007, 09:47
Hi,

ich habe gerade einen kleinen Fehler entdeckt:

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
  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 02:18 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