我需要管理Windows平板电脑设备的无线网络连接。平板电脑正在运行Windows 8.1 Industry。
我发现Managed Wifi API似乎应该让这项任务更容易。但是,使用提供的示例,我无法简单地连接到网络。
无论我尝试什么,都会引发相同的异常:
An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in ManagedWifi.dll
Additional information: The parameter is incorrect
我可以列出SSID并探索它们。我认为通过导出无线配置文件(如下面的代码片段)并使用它作为通过API进行连接的profileXml可以工作,但是会发生同样的错误。
netsh wlan export profile xxxx folder=c:\
下面的C#代码:
// Connects to a known network with WEP security
string profileName = "xxxxx"; // this is also the SSID
string mac = "4254487562332D50575147";
string key = "xxxx"; //this is my passphrase
string profileXml = string.Format("<?xml version=\"1.0\"?><WLANProfile xmlns=\"http://www.microsoft.com/networking/WLAN/profile/v1\"><name>{0}</name><SSIDConfig><SSID><hex>{1}</hex><name>{0}</name></SSID></SSIDConfig><connectionType>ESS</connectionType><MSM><security><authEncryption><authentication>WPA2PSK</authentication><encryption>AES</encryption><useOneX>false</useOneX></authEncryption><sharedKey><keyType>passPhrase</keyType><protected>true</protected><keyMaterial>{2}</keyMaterial></sharedKey></security></MSM><MacRandomization xmlns=\"http://www.microsoft.com/networking/WLAN/profile/v3\"><enableRandomization>false</enableRandomization></MacRandomization></WLANProfile>", profileName, mac, key);
wlanIface.SetProfile( Wlan.WlanProfileFlags.AllUser, profileXml, true );
wlanIface.Connect( Wlan.WlanConnectionMode.Auto, Wlan.Dot11BssType.Any, profileXml);
我可以指出正确的方向吗?
答案 0 :(得分:0)
作为起点:
使用Windows连接到网络。确保勾选“自动连接”。
转到
\ ProgramData \ Microsoft \ Wlansvc \ Profiles \ Interfaces \
并找到为您的新连接创建的配置文件。 将XML复制到您的代码中并替换动态部分。