IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

API Microsoft WIFI : comment se connecter à un réseau WIFI ?


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur mobile
    Inscrit en
    Novembre 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Novembre 2007
    Messages : 107
    Par défaut API Microsoft WIFI : comment se connecter à un réseau WIFI ?
    Bonjour,

    Je cherche à réaliser une application simple en mode console me permettant de lister les réseaux WIFI disponibles et de me connecter à l'un d'entre eux. J'utilise pour cela l'API Microsoft Native WIFI.

    M'étant inspiré de plusieurs codes trouvés ça et là, je parviens bien à lister les réseaux disponibles, mais je n'arrive pas à me connecter, ne serait-ce qu'à ma propre freebox. Je suis d'ailleurs surpris qu'on ne précise nulle part dans le code la clé WEP ou WPA pour se connecter au réseau ...

    Mon code est dispo ici : http://www.classemix.fr/test/ConnexionWIFI.zip (dans cet exemple, j'essaie de me connecter au premier réseau disponible, vu que je ne détecte chez moi qu'un seul réseau, celui de ma freebox. Dans ce code, la fonction WlanConnect semble ne pas vouloir fonctionner.)

    Si quelqu'un sait comment je peux me connecter au réseau WIFI de mon choix grâce à l'API WIFI, ça m'intéresse

    Merci par avance pour votre aide !

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Regarde dans ce tuto : Découverte de l'API Microsoft Native Wifi pour commencer. Par contre, désolé pour toi, mais il n'y a pas la partie connexion dans ce tuto. Il va falloir fouiller un peu dans l'API Microsoft Native Wifi (probablement avec WlanConnect()).
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirmé
    Profil pro
    Développeur mobile
    Inscrit en
    Novembre 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Novembre 2007
    Messages : 107
    Par défaut
    Merci, mais j'ai déjà regardé ce tuto de long en large et ce qui me manque, c'est précisément la partie connexion et plus particulièrement WlanConnect() dont je n'arrive pas encore à bien comprendre le fonctionnement...

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    D'après ce que je viens de comprendre en lisant rapidement la doc, il faut d'abord créer un profil de connexion (avec WlanSetProfile) et ensuite, récupérer ce profil avec WlanGetProfile() et enfin utiliser WlanConnect() en spécifiant ce profil.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Par défaut
    Je connais pas du tout ces fonctions de l'api, mais en jettant un coup d'oeil rapide (par curiosité) je pese que ram-000 a raison. A tout hasard, j'ai cru comprendre de la doc msdn qu'il faut utiliser un profil de connexion (la structure - WLAN_CONNECTION_PARAMETERS - pointé par le 3eme argument de WlanConnect est constitué entre autre de strProfile qui pointent sur le profil que tu peux récupérer grace à WlanGetProfile()) existant ou en créant (tu dois spécifier la méthode temporaire -volatile- ou a enregistré) grace à WlanSetProfile() et y'a des exemples de profile (format xml) dont le WPA/WPA2 : http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
    Tu peux regarder aussi http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx ou y'a le schéma pour construire des profils, et y'a dans le node security y'a bien un enum WEP, WPA, etc... donc je pense qu'il faut regarder par là.
    Désolé de pas pouvoir aider plus.

  6. #6
    Membre confirmé
    Profil pro
    Développeur mobile
    Inscrit en
    Novembre 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Novembre 2007
    Messages : 107
    Par défaut
    Merci pour votre aide !

    Avec le code suivant, je parviens (presque) maintenant à me connecter au réseau WIFI de mon choix (avec "info" de type WLAN_AVAILABLE_NETWORK *) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    WLAN_CONNECTION_PARAMETERS connect;
    memset(&connect, 0, sizeof(WLAN_CONNECTION_PARAMETERS));
    
    connect.wlanConnectionMode = wlan_connection_mode_discovery_secure;
    connect.strProfile = NULL;
    connect.pDot11Ssid = &info->dot11Ssid;
    connect.pDesiredBssidList = 0;
    connect.dot11BssType = dot11_BSS_type_infrastructure;
    connect.dwFlags = NULL;
    
    DWORD retour = WlanConnect(clientHandle, guid, &connect, NULL);
    Le seul hic est que Windows m'affiche un message me demandant de saisir la clé (WEP ou WPA ou autre) via son interface habituelle.

    N'y a-t-il donc pas un moyen simple de faire cette saisie par programmation afin d'éviter ce message ? Ou bien faut-il que je passe obligatoirement par cette manip de WlanSetProfile, qui m'a bien l'air d'être une usine à gaz ? (et dans ce cas, si y'a un exemple quelque part, je suis preneur )

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD12] Comment se connecter à un réseau distant ?
    Par piperblue dans le forum WinDev
    Réponses: 5
    Dernier message: 11/09/2008, 08h24
  2. Portatif refuse de se connecter au réseau wifi
    Par annedeblois dans le forum Windows Vista
    Réponses: 1
    Dernier message: 08/10/2007, 18h35
  3. [KUBUNTU] Comment se connecter via le Wifi
    Par lenul79 dans le forum Ubuntu
    Réponses: 6
    Dernier message: 26/07/2007, 23h38
  4. Réponses: 5
    Dernier message: 28/02/2006, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo