要求:
问题:wi-fi网络对话框仅在explorer.exe运行时显示
我们尝试了什么:
编写我们自己的使用wlan API的wi-fi管理器。它列出了可连接的网络,允许用户连接/断开连接。问题:需要测试的网络类型/配置太多,特别是当轮子已经被发明并重新发明时。
尝试检查网络对话框是如何实现的。它似乎是没有文档的COM接口(IUIRAdioManager)。问题:它没有记录,所以没有API
使用现有的网络管理器,例如驱动程序附带的网络管理器。问题:它很难看,不符合产品的味道;它为用户打开了太多选项,比如创建和加载配置文件,浏览文件系统上的文件 - 这些都是不可接受的。
运行explorer.exe只是为了显示网络对话框,然后将其删除。问题:一旦我们运行explorer.exe - 它会弹出metro视图并隐藏我们的全屏应用程序或显示任务栏。
后者似乎是首选的解决方案:无需重新发明轮子,它可以满足需要。只是让explorer.exe不会弹出,在后台保持安静。
因此,我们有两个选择:
如何在没有explorer.exe的情况下显示网络弹出对话框?
如何运行explorer.exe而不会弹出我们应用程序上方的地铁或任务栏?
答案 0 :(得分:0)
您的第一个解决方案难以实施。我几乎可以肯定网络窗口依赖于资源管理器。
然而,你的第二个是完全可能的。
FindWindowEx
)来查找任务栏(名称为Shell_traywnd
)。这将隐藏任务栏和开始按钮。编辑:除非您正在实现自己的任务栏,否则您可能希望将任务栏设置为自动隐藏。EdgeUiInputWndClass
的类并关闭它。您应该能够获取它的进程名称,然后终止进程。%windir%\explorer.exe shell:::{38A98528-6CBF-4CA9-8DC0-B1E1D10F7B1B}
(source)。
EDIT2: