Bonjour,
Je me suis mis à AutoIt lundi pour un projet qui consiste à développer un script changeant la configuration ip fixe ou dynamique des ordinateurs portable de la société selon l' antenne dans laquelle ils se trouvent, cependant pour que le scripte s' adapte à tous les PC je doit avoir une fonction qui récupère le nom de la connexion active de l' ordinateur et c' est la que je vous demande de l' aide.
J' ai trouvé plusieurs postes sur le forum qui m' ont aidé a formé mon scripte mais pour capturer le nom de la connexion active je n' ai pas trouvé de poste qui me sois réellement utile a cause de ma "noobitude" en AutoIt qui ma bloqué sur certains scripte publié sur le forum.
Donc ma question est:
Comment pourrais-je récupérer le nom d' une connexion active ?
Y a-t-il des fonctions déjà pré-existante ?
Merci d' avance pour l’intérêt porté a mon problème.
[R] Capture du nom d'une connexion réseau active
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
weyline
- Niveau 1

- Messages : 4
- Enregistré le : mer. 25 mai 2011 10:37
- Localisation : Gap
- Status : Hors ligne
[R] Capture du nom d'une connexion réseau active
Modifié en dernier par weyline le jeu. 26 mai 2011 14:27, modifié 1 fois.
- ZDS
- Membre émérite

- Messages : 554
- Enregistré le : jeu. 10 juin 2010 10:35
- Localisation : 22300 Cul-d'chouette Langue-de-vache
- Status : Hors ligne
Re: [..] Capture du nom d'une connexion réseau active
Bonjour,
Il n'y a pas de fonction de base il me semble, mais en cherchant un peu, on trouve toujours son bonheur ^^ :
Simple recherche sur Google : http://www.autoitscript.com/forum/topic ... onnection/
Simple recherche ici même : http://www.autoitscript.fr/forum/viewto ... =21&t=1092 (d'ailleurs le lien précédent sur le forum anglophone cite ce topic de Tlem sur le forum francophone)
En y associant une fonction qui retourne la liste de toutes les connexions disponibles, c'est ensuite facile de savoir lesquelles sont actives.
A bientôt !
Il n'y a pas de fonction de base il me semble, mais en cherchant un peu, on trouve toujours son bonheur ^^ :
Simple recherche sur Google : http://www.autoitscript.com/forum/topic ... onnection/
Simple recherche ici même : http://www.autoitscript.fr/forum/viewto ... =21&t=1092 (d'ailleurs le lien précédent sur le forum anglophone cite ce topic de Tlem sur le forum francophone)
En y associant une fonction qui retourne la liste de toutes les connexions disponibles, c'est ensuite facile de savoir lesquelles sont actives.
A bientôt !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
-
weyline
- Niveau 1

- Messages : 4
- Enregistré le : mer. 25 mai 2011 10:37
- Localisation : Gap
- Status : Hors ligne
Re: [..] Capture du nom d'une connexion réseau active
Bonjour,
Merci pour votre réponse, cependant je ne suis pas certain que cela correspond à mon besoin, je ne cherche pas a activé ou désactivé une connexion, seulement les listé et savoir laquelle est active pour pouvoir en récupérer son nom afin de le stocker dans une variable qui sera utilisé dans ma fonction utilisant la commande netsh.
En faite, les PC sur lesquels je souhaite utilisé mon scripte possède tous ou presque plusieurs connexions et de nom variable, d' où mon intérêt pour définir la connexion active pour en récupérer le nom.
Merci pour votre réponse, cependant je ne suis pas certain que cela correspond à mon besoin, je ne cherche pas a activé ou désactivé une connexion, seulement les listé et savoir laquelle est active pour pouvoir en récupérer son nom afin de le stocker dans une variable qui sera utilisé dans ma fonction utilisant la commande netsh.
En faite, les PC sur lesquels je souhaite utilisé mon scripte possède tous ou presque plusieurs connexions et de nom variable, d' où mon intérêt pour définir la connexion active pour en récupérer le nom.
- ZDS
- Membre émérite

- Messages : 554
- Enregistré le : jeu. 10 juin 2010 10:35
- Localisation : 22300 Cul-d'chouette Langue-de-vache
- Status : Hors ligne
Re: [..] Capture du nom d'une connexion réseau active
L'UDF qui permet de travailler sur une connexion permet aussi de connaitre son état grace à la fonction _GetNicState : Il te faut juste t'en inspirer (et vérifier la langue), après avoir choppé le nom de toutes les connexions (là je pense que c'est une fonction de base d'AutoIt).
PS: Je trouve ce code très surprenant moi aussi, faire une boucle qui retourne une valeur dès le premier élément quelque soit la condition trouvée, c'est zarb. Mais bon ça fonctionne dans le cas d'une manip d'activation/desactivation, donc...
PS2: Regarde aussi comment l'exemple suivant est foutu :
Code : Tout sélectionner
; Function that give the state of the lan connection (1 = Active 0 = Not Active).
Func _GetNicState($oLanConnection, $strEnableVerb, $strDisableVerb)
For $Verb In $oLanConnection.Verbs
If $Verb.Name = $strEnableVerb Then
Return 0
Else
Return 1
EndIf
Next
EndFunc ;==>_GetNicStatePS: Je trouve ce code très surprenant moi aussi, faire une boucle qui retourne une valeur dès le premier élément quelque soit la condition trouvée, c'est zarb. Mais bon ça fonctionne dans le cas d'une manip d'activation/desactivation, donc...
PS2: Regarde aussi comment l'exemple suivant est foutu :
Code : Tout sélectionner
$connect = _GetNetworkConnect()
If $connect Then
MsgBox(64, "Connections", $connect)
Else
MsgBox(48, "Warning", "There is no connection")
EndIf
Func _GetNetworkConnect()
Local Const $NETWORK_ALIVE_LAN = 0x1 ;net card connection
Local Const $NETWORK_ALIVE_WAN = 0x2 ;RAS (internet) connection
Local Const $NETWORK_ALIVE_AOL = 0x4 ;AOL
Local $aRet, $iResult
$aRet = DllCall("sensapi.dll", "int", "IsNetworkAlive", "int*", 0)
If BitAND($aRet[1], $NETWORK_ALIVE_LAN) Then $iResult &= "LAN connected" & @LF
If BitAND($aRet[1], $NETWORK_ALIVE_WAN) Then $iResult &= "WAN connected" & @LF
If BitAND($aRet[1], $NETWORK_ALIVE_AOL) Then $iResult &= "AOL connected" & @LF
Return $iResult
EndFuncZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
-
weyline
- Niveau 1

- Messages : 4
- Enregistré le : mer. 25 mai 2011 10:37
- Localisation : Gap
- Status : Hors ligne
Re: [..] Capture du nom d'une connexion réseau active
Je vous remercie, je n' avais pas bien compris.
Je vais me penché la dessus en espérant réussir a faire quelque chose
J' éditerais pour donné suite ...
Je vais me penché la dessus en espérant réussir a faire quelque chose
J' éditerais pour donné suite ...
- Jerome
- Niveau 9

- Messages : 661
- Enregistré le : mar. 07 avr. 2009 08:35
- Localisation : Picardie
- Status : Hors ligne
Re: [..] Capture du nom d'une connexion réseau active
Coucou,
Sinon regarde du côté des class WMI : http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Il y a forcement ce que tu recherches.
Jérôme
Sinon regarde du côté des class WMI : http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Il y a forcement ce que tu recherches.
Jérôme
-
weyline
- Niveau 1

- Messages : 4
- Enregistré le : mer. 25 mai 2011 10:37
- Localisation : Gap
- Status : Hors ligne
Re: [..] Capture du nom d'une connexion réseau active
Problème résolu, je vous remercie infiniment, une grosse épine du pied enlevé.
Je commence à comprendre petit a petit AutoIt et je me rend compte que c' est un outil vraiment puissant quand on sais un minimum le maitrisé
edit: Je n' ai pas réussi à définir de façon "portable" le nom d' une connexion active j' ai donc pallié le problème en récupérant le nom de la première connexion utilisable via le registre et j' oblige donc l' utilisateur à utilisé la carte utilisable qui aura été trouvé par le scripte.
Je commence à comprendre petit a petit AutoIt et je me rend compte que c' est un outil vraiment puissant quand on sais un minimum le maitrisé
edit: Je n' ai pas réussi à définir de façon "portable" le nom d' une connexion active j' ai donc pallié le problème en récupérant le nom de la première connexion utilisable via le registre et j' oblige donc l' utilisateur à utilisé la carte utilisable qui aura été trouvé par le scripte.
