OVH Cloud OVH Cloud

Connexion: déconnectée & réparée

11 réponses
Avatar
zedrummer
Bonjour
comme j'ai un petit problème avec la stabilité de ma connexion wifi
(même si le signal est excellent), j'aimerais faire un petit programme
résident qui détecte si ma connexion sans fil est déconnectée et si oui
faire l'équivalent logiciel d'un "click droit|repair" sur l'icône de la
connection.
Est ce que ces 2 manipulations sont faisables de manière logicielle?
Merci d'avance
David

10 réponses

1 2
Avatar
Christian ASTOR
zedrummer wrote:
Bonjour
comme j'ai un petit problème avec la stabilité de ma connexion wifi
(même si le signal est excellent), j'aimerais faire un petit programme
résident qui détecte si ma connexion sans fil est déconnectée et si oui
faire l'équivalent logiciel d'un "click droit|repair" sur l'icône de la
connection.
Est ce que ces 2 manipulations sont faisables de manière logicielle?



Oui, mais c'est très complexe.
Notamment le repair : il utilise l'interface INetConnection
(::Disconnect, ::Connect)
mais il fait ensuite tout un tas de reset et rafraîchissements peu ou
pas documentés
(DhcpAcquireParametersByBroadcast(),
DhcpAcquireParameters(), FlushIpNetTable(),
DeviceIoCtrl() & IOCTL_NETBT_PURGE_CACHE, IOCTL_NETBT_NAME_RELEASE_REFRESH,
DnsFlushResolverCache(), DhcpStaticRefreshParams()... )
Avatar
zedrummer
Tant pis en tout cas merci beaucoup Christian
David

Christian ASTOR a écrit :
zedrummer wrote:
Bonjour
comme j'ai un petit problème avec la stabilité de ma connexion wifi
(même si le signal est excellent), j'aimerais faire un petit programme
résident qui détecte si ma connexion sans fil est déconnectée et si
oui faire l'équivalent logiciel d'un "click droit|repair" sur l'icône
de la connection.
Est ce que ces 2 manipulations sont faisables de manière logicielle?



Oui, mais c'est très complexe.
Notamment le repair : il utilise l'interface INetConnection
(::Disconnect, ::Connect)
mais il fait ensuite tout un tas de reset et rafraîchissements peu ou
pas documentés
(DhcpAcquireParametersByBroadcast(),
DhcpAcquireParameters(), FlushIpNetTable(),
DeviceIoCtrl() & IOCTL_NETBT_PURGE_CACHE, IOCTL_NETBT_NAME_RELEASE_REFRESH,
DnsFlushResolverCache(), DhcpStaticRefreshParams()... )


Avatar
zedrummer
Bonjour
Je vous embête à nouveau sur le même sujet:
En fait j'ai constaté qu'un simple "Désactiver" puis "Activer" dans la
page des connexions suffirait à réparer la connexion.
Est-ce plus simple de faire de manière logiciel ce
"Désactiver"/"Activer"? (tout en ayant un moyen de vérifier que la
désactivation est active avant de ré-activer, car cela prend plusieurs
secondes chez moi). Quand vous disiez dans le message précédent que
c'était très compliqué, l'était-ce aussi à cause de la détection de la
déconnexion?
Merci encore
David

Christian ASTOR a écrit :
zedrummer wrote:
Bonjour
comme j'ai un petit problème avec la stabilité de ma connexion wifi
(même si le signal est excellent), j'aimerais faire un petit programme
résident qui détecte si ma connexion sans fil est déconnectée et si
oui faire l'équivalent logiciel d'un "click droit|repair" sur l'icône
de la connection.
Est ce que ces 2 manipulations sont faisables de manière logicielle?



Oui, mais c'est très complexe.
Notamment le repair : il utilise l'interface INetConnection
(::Disconnect, ::Connect)
mais il fait ensuite tout un tas de reset et rafraîchissements peu ou
pas documentés
(DhcpAcquireParametersByBroadcast(),
DhcpAcquireParameters(), FlushIpNetTable(),
DeviceIoCtrl() & IOCTL_NETBT_PURGE_CACHE, IOCTL_NETBT_NAME_RELEASE_REFRESH,
DnsFlushResolverCache(), DhcpStaticRefreshParams()... )


Avatar
Thierry Murail
> Je vous embête à nouveau sur le même sujet:
En fait j'ai constaté qu'un simple "Désactiver" puis "Activer" dans la
page des connexions suffirait à réparer la connexion.
Est-ce plus simple de faire de manière logiciel ce "Désactiver"/"Activer"?



Yep. regarde devcon dans le DDK ou
http://support.microsoft.com/kb/468200/fr
Avatar
zedrummer
Merci de ta réponse rapide, mais ça parle de l'USB, c'est facile de
l'adapter à une connexion Wifi?
Cordialement
David
Thierry Murail a écrit :
Je vous embête à nouveau sur le même sujet:
En fait j'ai constaté qu'un simple "Désactiver" puis "Activer" dans la
page des connexions suffirait à réparer la connexion.
Est-ce plus simple de faire de manière logiciel ce "Désactiver"/"Activer"?



Yep. regarde devcon dans le DDK ou
http://support.microsoft.com/kb/468200/fr




Avatar
Thierry Murail
"zedrummer" a écrit dans le message de news:
45a3c3a6$0$688$
Merci de ta réponse rapide, mais ça parle de l'USB, c'est facile de
l'adapter à une connexion Wifi?



Oui, c'est juste un exemple d'utilisation des fonctions SetupDi.
Recherche devcon.exe et joue avec :
http://forum.hardware.fr/hfr/WindowsSoftwareReseaux/Administration/activer-winxp-resolu-sujet_235217_1.htm
Avatar
zedrummer
Merci c'est épatant!
Cordialement
David

Thierry Murail a écrit :
"zedrummer" a écrit dans le message de news:
45a3c3a6$0$688$
Merci de ta réponse rapide, mais ça parle de l'USB, c'est facile de
l'adapter à une connexion Wifi?



Oui, c'est juste un exemple d'utilisation des fonctions SetupDi.
Recherche devcon.exe et joue avec :
http://forum.hardware.fr/hfr/WindowsSoftwareReseaux/Administration/activer-winxp-resolu-sujet_235217_1.htm




Avatar
zedrummer
Allez une dernière et promis j'arrête:
Du coup comme je mets dans le premier message, il me faut pouvoir tester
la connexion pour voir si elle n'est plus connectée, ça se fait facilement?
Merci encore
David

Thierry Murail a écrit :
"zedrummer" a écrit dans le message de news:
45a3c3a6$0$688$
Merci de ta réponse rapide, mais ça parle de l'USB, c'est facile de
l'adapter à une connexion Wifi?



Oui, c'est juste un exemple d'utilisation des fonctions SetupDi.
Recherche devcon.exe et joue avec :
http://forum.hardware.fr/hfr/WindowsSoftwareReseaux/Administration/activer-winxp-resolu-sujet_235217_1.htm




Avatar
Christian ASTOR
zedrummer wrote:

En fait j'ai constaté qu'un simple "Désactiver" puis "Activer" dans la
page des connexions suffirait à réparer la connexion.
Est-ce plus simple de faire de manière logiciel ce
"Désactiver"/"Activer"?



Oui, juste l' INetConnectionConnectUi interface
(::SetConnection(), ::Disconnect(), ::Connect())
Avatar
Thierry Murail
"zedrummer" a écrit dans le message de news:
45a3e6f5$0$300$
Allez une dernière et promis j'arrête:
Du coup comme je mets dans le premier message, il me faut pouvoir tester
la connexion pour voir si elle n'est plus connectée, ça se fait
facilement?



Voir le sample MACADDR http://www.pcausa.com/Utilities/macaddr2.htm avec
l'OID OID_GEN_MEDIA_CONNECT_STATUS

L'API que mentionne C.Astor doit pouvoir le faire aussi et de façon plus
"propre".
1 2