Bonjour
je souhaite modifier par prog' , la passerelle r�seau , le dns primaire et secondaire ...
Si quelqun peut me mettre sur la voie ?
Bonjour
je souhaite modifier par prog' , la passerelle r�seau , le dns primaire et secondaire ...
Si quelqun peut me mettre sur la voie ?
Bonjour,
J'ai d�j� eu a rechercher comment faire cela et la solution la plus simple que j'ai trouv� est d'utiliser la commande console netsh.
Pour utiliser une commande console via un prog regarde du cot� de "ShellExecute".
la commande pour modifier l'ip, et la passerelle est :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 netsh interface ip set address "interface name" static/dhcp "IP" "MASK" "GATEWAY" 1 exemple : netsh interface ip set address "Reseau local 1" static 192.168.0.1 255.255.255.0 192.168.0.254 1
et pour modifier le dns :
Si tu veux pouvoir retrovuer le nom du r�seau par programme (ici "Reseau local 1", il faut regarder du cot� de la librairie iphlpapi.lib.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 netsh interface ip set dns "interface name" static "IP" exemple : netsh interface ip set dns "Reseau local 1" static 212.21.43.5
Un petit code permetant de r�cup�rer les infos des diff�rentes interfaces r�seau et ajouter le nom des interface dans un comboBox :
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 void __fastcall SetAdaptersName() { DWORD adapterBuffSize=0; // récupere la taille du buffer GetAdaptersInfo(NULL, &adapterBuffSize); //allocation mémoire adaptInfo = (PIP_ADAPTER_INFO) new BYTE[adapterBuffSize]; //récupération des infos GetAdaptersInfo(adaptInfo, &adapterBuffSize); //recherche dans la bdr le nom logique des interfaces depuis leur nom PIP_ADAPTER_INFO tmpAdapt; tmpAdapt = adaptInfo; AnsiString name; TRegistry *reg = new TRegistry(); try { reg->RootKey = HKEY_LOCAL_MACHINE; while(tmpAdapt != NULL) { AnsiString path = "\\SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\"; path += tmpAdapt->AdapterName; path += "\\Connection"; reg->OpenKey(path,false); name = reg->ReadString("Name"); ComboBox1->Items->Add(Name); tmpAdapt = tmpAdapt->Next; } ) __finally { delete reg; } }
Partager