AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wlan connect

Ein Thema von stefan684 · begonnen am 20. Jan 2017 · letzter Beitrag vom 22. Mär 2017
Antwort Antwort
stefan684

Registriert seit: 28. Mai 2013
10 Beiträge
 
Delphi XE3 Professional
 
#1

Wlan connect

  Alt 20. Jan 2017, 06:37
Hallo,

ich würde gerne per Delphi Verbindungen zu Wlan-Netze herstellen.

Im Netz habe ich einen Wlan-Scanner gefunden:

Delphi-Quellcode:
procedure TFORM1.Scan();
const
WLAN_AVAILABLE_NETWORK_INCLUDE_ALL_ADHOC_PROFILES =$00000001;
var
  hClient : THandle;
  dwVersion : DWORD;
  ResultInt : DWORD;
  pInterface : Pndu_WLAN_INTERFACE_INFO_LIST;
  i : Integer;
  j : Integer;
  pAvailableNetworkList: Pndu_WLAN_AVAILABLE_NETWORK_LIST;
  pInterfaceGuid : PGUID;
  SDummy : string;
  l:tlistItem;
begin
  ResultInt:=WlanOpenHandle(1, nil, @dwVersion, @hClient);
  if ResultInt<> ERROR_SUCCESS then
  begin
     WriteLn('Error Open CLient'+IntToStr(ResultInt));
     Exit;
  end;

  ResultInt:=WlanEnumInterfaces(hClient, nil, @pInterface);
  if ResultInt<> ERROR_SUCCESS then
  begin
     WriteLn('Error Enum Interfaces '+IntToStr(ResultInt));
     exit;
  end;

  for i := 0 to pInterface^.dwNumberOfItems - 1 do
  begin
   COMBOBOX1.Items.Add('Interface ' + pInterface^.InterfaceInfo[i].strInterfaceDescription);
   edit1.Text:=('GUID ' + GUIDToString(pInterface^.InterfaceInfo[i].InterfaceGuid));

   pInterfaceGuid:= @pInterface^.InterfaceInfo[pInterface^.dwIndex].InterfaceGuid;

      ResultInt:=WlanGetAvailableNetworkList(hClient,pInterfaceGuid,WLAN_AVAILABLE_NETWORK_INCLUDE_ALL_ADHOC_PROFILES,nil,pAvailableNetworkList);
      if ResultInt<> ERROR_SUCCESS then
      begin
         WriteLn('Error WlanGetAvailableNetworkList '+IntToStr(ResultInt));
         Exit;
      end;

        for j := 0 to pAvailableNetworkList^.dwNumberOfItems - 1 do
        Begin
        l:=listview1.Items.Add;

           SDummy:=PAnsiChar(@pAvailableNetworkList^.Network[j].dot11Ssid.ucSSID);
           l.Caption:=(SDummy);
           l.SubItems.Add(Format('%d ',[pAvailableNetworkList^.Network[j].wlanSignalQuality])+'%');
           //SDummy := GetEnumName(TypeInfo(Tndu_DOT11_AUTH_ALGORITHM),integer(pAvailableNetworkList^.Network[j].dot11DefaultAuthAlgorithm)) ;
           SDummy:=DOT11_AUTH_ALGORITHM_To_String(pAvailableNetworkList^.Network[j].dot11DefaultAuthAlgorithm);
           l.SubItems.Add(SDummy);
           SDummy:=DOT11_CIPHER_ALGORITHM_To_String(pAvailableNetworkList^.Network[j].dot11DefaultCipherAlgorithm);
           l.SubItems.Add(SDummy);

        End;
  end;

  WlanCloseHandle(hClient, nil);

end;
Das funktioniert soweit, es werden die vorhandenen Netzwerk angezeigt.

Meine Frage ist, wie kann ich jetzt zu einem ausgewählten Netz eine Verbindung herstellen?

In einer Unit befindet sich die Funktion WlanConnect.

Delphi-Quellcode:
function WlanConnect(hClientHandle: Handle; const pInterfaceGuid: PGUID;
     const pConnectionParameters: Pndu_WLAN_CONNECTION_PARAMETERS;
    pReserved: PVOID): DWORD; stdcall;
Weiß jemand, wie ich die Parameter in diese Funktion einsetzen muss?

Danke.

Gruß

Stefan
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Wlan connect

  Alt 20. Jan 2017, 07:50
Falls dir das weiterhilft - die Doku zu WlanConnect: https://msdn.microsoft.com/de-de/en-...(v=vs.85).aspx
Sebastian
  Mit Zitat antworten Zitat
stefan684

Registriert seit: 28. Mai 2013
10 Beiträge
 
Delphi XE3 Professional
 
#3

AW: Wlan connect

  Alt 20. Jan 2017, 08:05
Hallo,

vielen Dank erstmal.

Gibt es keine Beispiel als Delphi-Code, wie man welche Parameter übergibt?
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.062 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Wlan connect

  Alt 20. Jan 2017, 09:37
Gibt es keine Beispiel als Delphi-Code, wie man welche Parameter übergibt?
Hast du denn den gefundenen Code in TFORM1.Scan() verstanden?

Alle relevanten Informationen liegen doch vor?!?
Du musst nur noch als dritten Parameter pConnectionParameters: Pndu_WLAN_CONNECTION_PARAMETERS erzeugen, ausfüllen und übergeben.
  Mit Zitat antworten Zitat
stefan684

Registriert seit: 28. Mai 2013
10 Beiträge
 
Delphi XE3 Professional
 
#5

AW: Wlan connect

  Alt 20. Jan 2017, 09:44
Hallo,

den Code habe ich nicht so richtig verstanden?!?
Mit Zeigern usw. kenne ich mich nicht so gut aus.

Wie bau ich den dritten Parameter zusammen?

Ein Beispiel-Code wäre super.

Danke.

Stefan
  Mit Zitat antworten Zitat
stefan684

Registriert seit: 28. Mai 2013
10 Beiträge
 
Delphi XE3 Professional
 
#6

AW: Wlan connect

  Alt 20. Jan 2017, 10:12
So hab ich es bis jetzt gemacht:

Delphi-Quellcode:
var PA : Pndu_WLAN_CONNECTION_PARAMETERS;
  ...
  Pa.strProfile := 'Test';
  Pa.wlanConnectionMode := Wlan_Connection_Mode_profile;
  Pa.pDot11Ssid := @pAvailableNetworkList^.Network[0].dot11Ssid;
  Pa.pDesiredBssidList := @pAvailableNetworkList^.Network[0].dot11BssType;
  Pa.dwFlags := Null;

  ResultInt:= WlanConnect(hClient, @pInterface^.InterfaceInfo[0].InterfaceGuid, PA , nil);
Funktioniert leider nicht.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:56 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