【发布时间】:2015-02-26 20:44:45
【问题描述】:
要求:
- 我们的应用程序替换了通常的 Windows shell (explorer.exe)。这是我们提供的封闭系统的产品要求。
- 我们应该让用户选择一个 wi-fi 网络并连接到它。
问题:wi-fi 网络对话框仅在 explorer.exe 运行时显示
我们尝试了什么:
编写我们自己的使用 wlan API 的 wi-fi 管理器。它列出了可连接的网络并允许用户连接/断开连接。问题:需要测试的网络类型/配置太多,尤其是当轮子已经被发明并重新发明时。
尝试检查网络对话框是如何实现的。它似乎是和未记录的 COM 接口 (IUIRAdioManager)。问题:它没有记录,所以没有 API
使用现有的网络管理器,例如驱动程序附带的网络管理器。问题:它很丑,不符合产品的口味;而且它为用户打开了太多选项,比如创建和加载配置文件、浏览文件系统上的文件——这些都是不可接受的。
运行 explorer.exe 只是为了显示网络对话框然后杀死它。问题:一旦我们运行 explorer.exe - 它会弹出 Metro 视图并隐藏我们的全屏应用程序或显示任务栏。
后者似乎是首选解决方案:无需重新发明轮子,它会做需要做的事情。只需要让 explorer.exe 不弹出,在后台保持安静。
所以,我们有两个选择:
如何在没有 explorer.exe 的情况下显示网络弹出对话框?
如何运行 explorer.exe 而不会在我们的应用程序上方弹出 Metro 或任务栏?
【问题讨论】:
-
我怀疑你的两个选项中的任何一个都是可能的。
标签: windows-8 wifi windows-shell windows-explorer kiosk-mode