class WIFISSID { public string SSID = "NONE"; public string dot11DefaultAuthAlgorithm = ""; public string dot11DefaultCipherAlgorithm = ""; public bool networkConnectable = true; public string wlanNotConnectableReason = ""; public int wlanSignalQuality = 0; public WlanClient.WlanInterface wlanInterface = null; } public void ConnectToSSID(WIFISSID ssid) { // Connects to a known network with WEP security string profileName = ssid.SSID; // this is also the SSID string mac = StringToHex(profileName); // string key = "166397954"; //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>New{0}</name></SSID></SSIDConfig><connectionType>ESS</connectionType><MSM><security><authEncryption><authentication>open</authentication><encryption>none</encryption><useOneX>false</useOneX></authEncryption><sharedKey><keyType>networkKey</keyType><protected>false</protected><keyMaterial>{2}</keyMaterial></sharedKey><keyIndex>0</keyIndex></security></MSM></WLANProfile>", profileName, mac, key); string profileXml = string.Format("<?xml version="1.0"?> <WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"><name>{0}</name><SSIDConfig><SSID><name>{0}</name></SSID></SSIDConfig> <connectionType>ESS</connectionType><connectionMode>auto</connectionMode><autoSwitch>false</autoSwitch><MSM><security><authEncryption><authentication>WPAPSK</authentication><encryption>TKIP</encryption><useOneX>false</useOneX></authEncryption><sharedKey><keyType>passPhrase</keyType><protected>false</protected><keyMaterial>{1}</keyMaterial></sharedKey></security></MSM></WLANProfile>", profileName, key); //string profileXml2 = "<?xml version="1.0"?><WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"><name>Hacker SSID</name><SSIDConfig><SSID><hex>54502D4C494E4B5F506F636B657441505F433844323632</hex><name>TP-LINK_PocketAP_C8D262</name></SSID> </SSIDConfig> <connectionType>ESS</connectionType><connectionMode>manual</connectionMode><MSM> <security><authEncryption><authentication>open</authentication><encryption>none</encryption><useOneX>false</useOneX></authEncryption></security></MSM></WLANProfile>"; ssid.wlanInterface.SetProfile(Wlan.WlanProfileFlags.AllUser, profileXml, true); ssid.wlanInterface.Connect(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, profileName); //string myProfileXML = 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><connectionMode>manual</connectionMode><MSM><security><authEncryption><authentication>open</authentication><encryption>none</encryption><useOneX>false</useOneX></authEncryption></security></MSM></WLANProfile>", profileName, mac); //ssid.wlanInterface.SetProfile(Wlan.WlanProfileFlags.AllUser, myProfileXML, true); //ssid.wlanInterface.Connect(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, profileName); //Console.ReadKey(); } 我在运行这段代码时他会进行连接wifi但是没有反映。不会连上,也不会有什么提示。而且有时候会创建一个“wifi名字“2这样的新WiFi。求大神帮忙。。。 |
|
没有人么。我试过没密码的可以连接。感觉可能是profileXml的问题。但是我修改后还是不能实现。
|
|
5分 |
http://i.isclab.org/?p=299 去看看吧 不知道是不是你想要的
|
我基本上就是照着他写的。它是连接的无密码wifi我想让他能连有密码wifi。改了一下profileXml但是不行。
|
|
10分 |
不同的网络用不同的格式
http://msdn.microsoft.com/en-us/library/windows/desktop/aa369853%28v=vs.85%29.aspx |
|
|
求大神帮忙啊。没有人可以提供点思路么?
|
|
学习了,用C++ 比较好点吧
|
|
恩恩,看到很多都是c++的,不过我想c#既然提供了这样的方法就应该可以才对,一定是我哪里出错了。但是我发现不了。其实我是无聊,宿舍wifi不稳定,老断开需要重连。我就想写一个断网重连的程序。结果。。。 |
|
人工置顶。求奇迹。
|
|
有没有解决,遇到相同问题
|
|
5分 |
<keyType>passPhrase</keyType>
改为networkKey看看 |
换了一个路由器就好了!我个人感觉是网络身份验证模式(wpa-psk或wpa2-psk)和加密方式的问题。我现在的路由器是wpa-psk.加密方式是TKIP+AES!
|
|
留个联系方式啊,我最近也在搞wifi连接遇到了问题
|
|
+1 不知道楼主解决没 求解决方案
|
|
++求解决方案
|
|
楼主搞定了没有啊?最近在学如何自动连接/断开wifi。。。希望指点一下!
|