使用C#和紧凑框架管理无线网络连接

3

标题已经概括了问题的关键--我需要能够在程序中连接到一个已知的接入点(SSID和凭据将在设备配置期间加载)。 我知道Compact Framework SDK和OpenNETCF SDK都提供了一些辅助方法,但我似乎找不到一个好的教程来使用它们。

1个回答

3

OpenNETCF的智能设备框架可能是最简单的机制来实现这一点。 无线网络的挑战在于,无线电OEM(无论是设备OEM还是其他)可以选择任何数量的方式来广告接口。 可能作为具有专有控件的普通NDIS设备(与接口交互真正麻烦),或者在另一端使用无线零配置(WZC)。 SDF尝试处理任何情况,根据硬件接口所广告的提供越来越多的功能。

因此,如果您想使用启用WZC的接口添加首选网络(实际上连接的唯一方式是网络在首选列表中),并且该网络是开放的(不是WEP、WPA等),那么这是一个相当简单的任务。事实上,即使是WPA和TKIP也是相当直观的。您只需调用AddPreferredNetwork。因此,您将调用NetworkInterface.GetAllNetworkInterfaces,然后迭代结果(或使用LINQ过滤)以获取WirelessZeroConfigNetworkInterface类型的适配器(是的,名称很长),然后在其中使用您的SSID和任何添加的信息(如密钥材料)调用AddPreferredNetwork。

当然,你也可以不使用SDF来完成所有这些操作——通过P/Invoke所需的工作量会更大。但是它仍然以某种形式“记录”下来。我们所做的大部分工作是将Windows CE中的网络对话框进行“翻译”,而完整源代码则随Platform Builder一起提供。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接