je programme en c++ et souhaite créer un programme listant les réseaux wifi disponibles, et s'y connecter.
Je pensais qu'une fonction simple existait prenant en paramètre le nom du réseau et le mot de passe pour s'y connecter mais non.
Une autre renvoyant un tableau avec les réseaux disponibles mais non.
j'ai longuement regardé la page mdsn de microsoft qui traite de la fonction wlanConnect() mais je me suis retrouvé avec 15 onglets d'ouverts car chacun d'eux contient un lien vers trois autres.
pourriez vous m'aider ?
Merci d'avance,
Raphael
EDIT : évidemment, pas besoin d'avoir une solution portable
- Edité par raphaeldesaintalbin 3 juillet 2017 à 13:46:04
"La valeur n'attend point le nombre des années" Le Cid, Pierre Corneille, Don Rodrigue parlant au Comte
C'est pas du C++ mais c'est en ligne de commandes Windows 7 (comme je sais pas ce que tu veux faire, je suppose que le but est de se connecter facilement, alors je pose le lien ici : xX-xXLIENXx-Xx (:
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. » D. Mendeleïev
Mais en l’occurrence je suis sur W10 malheureusement... et l'api wlan de microsoft est bien faite pour c++ !
Je voudrais créer un exécutable qui me permette de me connecter a un réseau wifi même si je n'y suis jamais allé (en ayant bien sur le mot de passe) et de le choisir, car la connexion netsh de ms-dos ne arche que si on s'est déjà connecté !(ou alors il faut créer un profil mais bon...)
(edit: note que tu n'utilisera jamais wlanconnect immediatement, cela passera toujours par selectionner la carte wifi en premier puis, et c'est plus pratique, lister les reseau detecté (et cela doit probablement initialiser leur profil aussi) puis choisir le "bon"!)
- Edité par breizhbugs 6 juillet 2017 à 13:33:15
** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
actuellement je teste plein de choses au niveau du compilo qui hurle à la mort dès que j’essaie de compiler un programme en rapport avec wlanapi. déjà, DWORD, ca l'énerve...
la moyenne d'erreurs est de 500...
oui avec une ligne de code j'ai eu plus de 500 erreurs...
je tente donc actuellement de faire marcher du code... pourriez vous me donner juste une ligne de code qui marche histoire de voir si ca vient du compilateur ou pas ?
sur le screen ci-dessous il n'y a que 3 erreurs
merci d'avance,
raphael
PS : j'inclus bien wlanapi.h et windows.h et ils les trouve !
EDIT : oui mais je pensais qu'en s'étant déjà connecté au wifi et en connaissant son nom...
- Edité par raphaeldesaintalbin 6 juillet 2017 à 20:40:55
"La valeur n'attend point le nombre des années" Le Cid, Pierre Corneille, Don Rodrigue parlant au Comte
Ps: utilise la version community de visual studio (j'ai l'impression que "for windows desktop" c'est la version qui ne fait que des projet UWP pour windows 8/10...)
** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
J'ai posté un screen avant sur une ligne et sur le code des 500 erreurs il devait en avoir des normales car j'ai juste appelé la fonc wlanopnhandle() (je crois que c'est ca) sans arguments. Je m'attendais a une erreur du type missing arguments at this function mais non.
EDIT :
alors, j'ai changé de compilo pour télécharger vs comunauty et voila !
la ligne est
DWORD dwResult = 0;
- Edité par raphaeldesaintalbin 10 juillet 2017 à 11:43:18
"La valeur n'attend point le nombre des années" Le Cid, Pierre Corneille, Don Rodrigue parlant au Comte
C'est parce que le compilateur est reglé pour utiliser les headers précompilé, une option a viré lors de la creation d'un projet (c'est iinutile pour les petits projets en tout cas). Bon c'est pas grave, laisse le!
** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
Visiblement tu n'avais pas vu mon édit ou j'ai dit avoir réussi à l'enlever... comme je peux deso compiler du code avec ce foutue api, on va pouvoir passer aux choses sérieuses ! je commence par quoi ?
"La valeur n'attend point le nombre des années" Le Cid, Pierre Corneille, Don Rodrigue parlant au Comte
Visiblement tu n'avais pas vu mon édit ou j'ai dit avoir réussi à l'enlever... comme je peux deso compiler du code avec ce foutue api, on va pouvoir passer aux choses sérieuses ! je commence par quoi ?
Le code qui liste les reseaux wifi?
breizhbugs a écrit:
J'aurais bien voulu "jouer" avec cette api, mais je n'ai pas de portable et donc pas d'ordi "wifi capable"!
(edit: note que tu n'utilisera jamais wlanconnect immediatement, cela passera toujours par selectionner la carte wifi en premier puis, et c'est plus pratique, lister les reseau detecté (et cela doit probablement initialiser leur profil aussi) puis choisir le "bon"!)
- Edité par breizhbugs 6 juillet 2017 à 13:33:15
** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
ok j'ai regardé la page et copié/collé l'exemple qui marche à merveille. j'ai créé un fichier cpp et un header qui contiennent la fonction. je vais m'attaquer à la connexion !
EDIT : j'ai réussi pour wlanOpenHandle() donc j'ai un argument sur quatre. un des arguments doit etre mit a NULL donc ça fait deux. J'ai de l'aide sur le discord d'OC pour le GUID. de l'aide pour le troisième argument ?
- Edité par raphaeldesaintalbin 10 juillet 2017 à 18:54:21
"La valeur n'attend point le nombre des années" Le Cid, Pierre Corneille, Don Rodrigue parlant au Comte
->The GUID of each wireless LAN interface enabled on a local computer can be determined using the WlanEnumInterfaces function.<-
Devrait aider?
Quand au 3ieme argument de wlanconnect, tu peux avoir lers infos en grande partie grâce a wlangetavailablenetworklist, dans les paramètres de descriptions de chaque réseau capté...
- Edité par breizhbugs 10 juillet 2017 à 19:54:10
** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
Bonjour ! Je me débrouille pour récupérer le GUID mais j'ai vrae du mal pour le troisième la... si vous pouviez me donner une piste... surtout que struct c'est plus du c que du c++
"La valeur n'attend point le nombre des années" Le Cid, Pierre Corneille, Don Rodrigue parlant au Comte
ben une partie des paramètres genre ssid, type de sécurité etc sont données en information dans la description de chaque réseau listé par wlangetavailablenetworklist.
** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
Pour l'instant je suis sur le GUID mais j'ai besoin du fichier shell32.dll pour la fonction GuidFromString()... pourriez vous me dire où le trouver car si je fais un simple #include <shell32.dll> il ne le trouve pas...
merci d'avance
"La valeur n'attend point le nombre des années" Le Cid, Pierre Corneille, Don Rodrigue parlant au Comte
euh tes deux liens pointent vers le même lien... et j'ai besoin de convertir cette string en GUID...
oui pardon, mais bon faut lire quand même la doc:
[GUIDFromString is available through Windows XP with Service Pack 2 (SP2) or Windows Vista. It might be altered or unavailable in subsequent versions. Applications should use CLSIDFromString or IIDFromString in place of this function.]
utilise la fonction recommandée?
** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
Ok super merci beaucoup ! et désolé je pensais que IIDFromString créait un IID (ce qui n'existe pas à ma connaissance mais je n'ai pas réfléchi sur le coup)...
j'ai donc enfin réussi à obtenir ce GUID dans une variable de type GUID !
Reste donc à s'occuper des structures... Je m'y mettrais demain mais je dois avouer avoir avec le principe même d'une structure(je sais que c'est une sorte de classe ou les attributs et les méthodes sont en public par défaut et que c'est assez utilisé en C mais pour ce qui est de l'utilisation...)
j'éditerais mon post demain pour vous dire ou j'en suis...
merci pour votre aide,
Raphael
"La valeur n'attend point le nombre des années" Le Cid, Pierre Corneille, Don Rodrigue parlant au Comte
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
D. Mendeleïev
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
D. Mendeleïev
Le code qui liste les reseaux wifi?