Bonjour a tous,
je cherche un moyen, par API ou autres, de désactiver ou activer un périphérique quelconque.
Notamment, dans mon cas, contrôler l'activation d' une carte wifi.
Bonjour a tous,
je cherche un moyen, par API ou autres, de désactiver ou activer un périphérique quelconque.
Notamment, dans mon cas, contrôler l'activation d' une carte wifi.
Après de longue, très longue recherches j'ai fini par tomber sur ça :
sur cette page : http://www.gershnik.com/faq/manage.asp#ics
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 #include <netcon.h> // wszName is the name of the connection as appears in Network Connections folder // set bEnable to true to enable and to false to disable bool EnableConnection(LPCWSTR wszName, bool bEnable) { bool result = false; typedef void (__stdcall * LPNcFreeNetconProperties)(NETCON_PROPERTIES* pProps); HMODULE hmod = LoadLibrary("netshell.dll"); if (!hmod) return false; LPNcFreeNetconProperties NcFreeNetconProperties = (LPNcFreeNetconProperties)GetProcAddress(hmod, "NcFreeNetconProperties"); if (!NcFreeNetconProperties ) return false; INetConnectionManager * pMan = 0; CoInitialize (NULL); HRESULT hres = CoCreateInstance(CLSID_ConnectionManager,0,CLSCTX_ALL,__uuidof(INetConnectionManager),(void**)&pMan); if (SUCCEEDED(hres)) { IEnumNetConnection * pEnum = 0; hres = pMan->EnumConnections(NCME_DEFAULT, &pEnum); if (SUCCEEDED(hres)) { INetConnection * pCon = 0; ULONG count; bool done = false; while (pEnum->Next(1, &pCon, &count) == S_OK && !done) { NETCON_PROPERTIES * pProps = 0; hres = pCon->GetProperties(&pProps); if (SUCCEEDED(hres)) { if (wcscmp(pProps->pszwName,wszName) == 0) { if (bEnable) result = (pCon->Connect() == S_OK); else result = (pCon->Disconnect() == S_OK); done = true; } NcFreeNetconProperties(pProps); } pCon->Release(); } pEnum->Release(); } pMan->Release(); } FreeLibrary(hmod); return result; }
Et cela marche du tonnerre![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager