J'ai eu un problème similaire où je avais besoin pour obtenir le SSID du réseau Wifi connecté actuellement, mais ne me sentais comme la création d'une enveloppe pour l'API en raison de sa complexité alors pensé pourquoi ne pas utiliser netsh
ProcessStartInfo info = new ProcessStartInfo("netsh", "wlan show interfaces");
info.WorkingDirectory = @"%WINDIR%\system32";
info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
info.CreateNoWindow = true;
info.RedirectStandardOutput = true;
info.UseShellExecute = false;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = info;
proc.Start();
alors vous pouvez simplement récupérer la sortie de proc.StandardOutput.ReadToEnd(); analyser ce que vous voulez de la chaîne:
"\r\n There is 1 interface on the system: \r\n\r\n
Name : Wireless Network Connection\r\n
Description : Atheros AR9285 Wireless Network Adapter\r\n
GUID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\r\n
Physical address : xx:xx:xx:xx:xx:xx\r\n
State : connected\r\n
SSID : Dynex2\r\n
BSSID : xx:xx:xx:xx:xx:xx\r\n
Network type : Infrastructure\r\n
Radio type : 802.11g\r\n
Authentication : WPA2-Personal\r\n
Cipher : CCMP\r\n
Connection mode : Auto Connect\r\n
Channel : 1\r\n
Receive rate (Mbps) : 54\r\n
Transmit rate (Mbps) : 54\r\n
Signal : 100% \r\n
Profile : Dynex2 \r\n\r\n
Hosted network status : Not available\r\n\r\n"
Beaucoup plus facile à analyser une chaîne que d'écrire un wrapper pour l'API Hope this helps
Thanx RRUZ, En fait, j'utiliser déjà réussi wifi api mais la fonction wlan ne peut pas être appliquée et renvoie "Le type ou le nom de l'espace de noms 'Wlan' n'a pas pu être trouvé (manque-t-il une directive using ou une référence d'assembly?)". J'utilise Visual Studio 2010 et Windows 7. Y at-il des fonctionnalités dans Visual Studio 2010 qui peuvent aider à obtenir SSID et RSSI à partir de Windows 7. – ailhaddin