Comment je peux changer automatiquement par code une adresse IP
Comment je peux changer automatiquement par code une adresse IP
Bonjour,
Tu peux utiliser la commande DOS : "IPCONFIG /RENEW"
tu peux la mettre dans un fichier BAT et le lancer avec Process.start()
ou la lancer directement avec un shell (commande Shell() ) mais je sais pas si cela fonctionne
Regarder à tout hasard Win32_NetworkAdapterConfiguration et tout ce qui tourne autour de DHCP et DNS dans le MSDN; il ya des API pour cela.
Attention c'est complexe
Perso, j ai longtemps chercher une solution, et j'ai finalement utilisé Win32_NetworkAdapterConfiguration.
J'ai trouvé l'implémentation très simple. J'ai un exemple en C# si ca t'interesse.
Bonjour,Envoyé par Nico_stras
Cela m'interesserai bien, est ce que tu pourrais laisser le code ici, merci
Ca attendra l'année prochaine pour le code
Mais je te conseille tout simplement google...
http://www.supinfo-projects.com/fr/2004/wmi/5/
http://www.secretswindows.com/index....networking.htm
Perso, je ne suis pas passé par des requêtes WQL mais je récupère toutes les connexions. (Je limite l'utilisation de chaînes de caracères en dur dans mes codes ; risques d'erreurs indétectables par le compilateur).
Ce code ne fait que lister les connexions, mais avec les liens ci-dessus, tu devrais t'en sortir
http://www.developpez.net/forums/arc...p/t-27665.html
Si ça peut attendre, je te donne mon code début janvier
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 public void ListIP() { ManagementClass objMC = new ManagementClass( "Win32_NetworkAdapterConfiguration"); ManagementObjectCollection objMOC = objMC.GetInstances(); // Référence au WMI "Win32_NetworkAdapterConfiguration" foreach(ManagementObject objMO in objMOC) // Pour chaque connexion { if(!(bool)objMO["ipEnabled"]) // Il ne s'agit pas d'une connexion réseau de type Ethernet TCP/IP : on passe continue; Console.WriteLine(objMO["Caption"] + "," + objMO["ServiceName"] + "," + objMO["MACAddress"]) ; string[] ipaddresses = (string[]) objMO["IPAddress"]; string[] subnets = (string[]) objMO["IPSubnet"]; string[] gateways = (string[]) objMO["DefaultIPGateway"]; Console.WriteLine("Printing Default Gateway Info:"); Console.WriteLine(objMO["DefaultIPGateway"].ToString()); Console.WriteLine("Printing IPGateway Info:"); foreach(string sGate in gateways) Console.WriteLine (sGate); Console.WriteLine("Printing Ipaddress Info:"); foreach(string sIP in ipaddresses) Console.WriteLine(sIP); Console.WriteLine("Printing SubNet Info:"); foreach(string sNet in subnets) Console.WriteLine(sNet); }
ATTENTION : Bien respecter les types (tableau de string, même si ce tableau n'a qu'une seule dimension)
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