У меня была аналогичная проблема, когда мне нужно, чтобы получить идентификатор SSID подключенного в данный момент сети Wi-Fi, но не чувствовал, как создать оболочку для API из-за его сложности, так фигурировали почему бы не использовать 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();
, то вы можете просто получить результат из proc.StandardOutput.ReadToEnd(); разобрать, что вы хотите от строки:
"\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"
Намного проще разобрать строку, чем написать оболочку для API Надеюсь, что это помогает
Thanx RRUZ, На самом деле я уже использовать управляемые WiFi апи но функция wlan, похоже, не может быть применена и возвращает «Тип или имя пространства имен« Wlan »не удалось найти (вам не хватает директивы using или ссылки на сборку?)». Я использую Visual Studio 2010 и Windows 7. Есть ли какие-либо функции в Visual Studio 2010, чтобы помочь получить SSID и RSSI из Windows 7. – ailhaddin