使用C#和Compact Framework管理无线网络连接

时间:2009-01-19 20:30:03

标签: c# compact-framework wireless smart-device-framework

标题有点总结 - 我需要能够以编程方式连接到已知的访问点(SSID和凭据将在设备配置期间加载)。我知道Compact Framework SDK和OpenNETCF SDK都提供了一些辅助方法,但我似乎找不到关于如何使用它们的好教程。

1 个答案:

答案 0 :(得分:3)

OpenNETCF的Smart Device Framework可能是最简单的机制。无线的挑战是无线电OEM(无论是否是设备oem)可以选择任意数量的方式来宣传界面。也许作为具有专有控件的普通NDIS设备(与接口真正的痛苦)或在另一端使用Wireless Zero Config (WZC)。 SDF尝试处理任何场景,根据硬件接口的广告提供越来越多的功能。

因此,如果您想使用支持WZC的界面添加首选网络(实际上连接的唯一方法是将网络放在首选列表中)并且netowork是打开的(不是WEP,WPA等) ,这是一项非常简单的任务。事实上,WPA甚至TKIP非常简单。您只需致电AddPreferredNetwork即可。所以你要调用NetworkInterface.GetAllNetworkInterfaces,然后迭代结果(或使用LINQ过滤)以获得WirelessZeroConfigNetworkInterface类型的适配器(是的,长名称),然后使用您的SSID和任何添加的信息调用AddPreferredNetwork喜欢关键材料。

当然,你可以在没有SDF的情况下完成所有这些工作 - 通过P / Invoke所需的工作量要高得多。但它仍然以某种形式“记录”。我们所做的大部分工作都是Windows CE中网络对话框的“翻译”,它是Platform Builder中的完整源代码。