Bonjour,
J'utilise les WMI pour lister mes cartes réseaux avoir leur IP ... Et ce qui me manque c'est la vitesse maxi de chaque carte. C'est à dire que j'ai une carte gigabite sur un réseau 100 Mbits/s et je voudrais obtenir cette information de 1 Gbits/s.
J'obtiens la vitesse de la carte et la vitesse du réseau avec :
Si vous avez une idée merci de votre aide (même pour corriger mon code)
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 ManagementClass mc2 = new ManagementClass("Win32_NetworkAdapter"); ManagementObjectCollection mcCol2 = mc2.GetInstances(); foreach (ManagementObject mcObj2 in mcCol2) { if (mcObj2["MACAddress"] != null) { string LeMac = mcObj2["MACAddress"].ToString(); if ((LeMac.IndexOf(Macadd) != -1) && (trouvee==false)) { try { vitesse=Convert.ToString(Convert.ToInt64(mcObj2["Speed"].ToString()) / (1000 * 1000)); // en Mbits, vitesse "instantanée" trouvee = true; } catch { } } } } string Macsimple = Macadd; Macsimple = Macsimple.Replace(":",""); IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties(); NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); if (nics == null || nics.Length < 1) { return; } foreach (NetworkInterface adapter in nics) { IPInterfaceProperties properties = adapter.GetIPProperties(); if (Macsimple == adapter.GetPhysicalAddress().ToString()) { IPv4InterfaceStatistics stats = adapter.GetIPv4Statistics(); if (adapter.Speed != -1) { vitessemax=Convert.ToString(adapter.Speed / (1000 * 1000)); } // en Mbits, vitesse du réseau } }
Je suis preneur même si ce n'est pas avec les WMI, base de registre ...
Merci
Partager