Native Wifi API 应用小结

前段时间写了一个关于Native  Wifi API的应用程序,能够查询无线网络并根据输入用户名和密码连接指定的无线网络。其中遇到了一些问题,现在和大家分享一下,希望有所帮助。


问题1.调用WlanOpenHandle时总会出现1062错误,经过查阅资料,发现原来是WZC(Wireless Zero Configuration)服务没有开启导致的。

解决方法:在cmd下输入 net start wzcsvc

(还有其他方式,我当初在一个英文网站上找到的,大家也可以找找看)


问题2:调用WlanSetProfile,在profile参数中设置用户名和密码,然后调用WlanConnect便可以连接无线网络,但是总提示“网络连接配置文件损坏”的错误,也是查询一个英文网站后发现时xml配置文件编写错误导致的(具体参考:http://www.codeproject.com/Articles/72105/Manage-WiFi-with-Native-API-WIFI-on-Windows-XP-SP2

解决方法:下面给出一个正确的xml配置文件的例子

profileXml = string.Format("<?xml version=\"1.0\" encoding=\"US-ASCII\"?>
         <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);
 
 		 Wlan.WlanSetProfile( clientHandle, 
                          InterfaceGuid, 
                          Wlan.WlanProfileFlags.AllUser, 
                          profileXml, 
                          null, 
                          true, 
                          IntPtr.Zero, 
                          out reasonCode);

结束语:

后续关于native wifi api 的总结会继续分享。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值