ShellExecute in Windows Embedded

ShellExecute in Windows Embedded

本文关键字:Embedded Windows in ShellExecute      更新时间:2023-10-16

我正在使用

ShellExecute(NULL,"open","control.exe","ncpa.cpl","c:\windows\system32\",SW_NORMAL); 

打开"网络连接"窗口。这在我的系统上是有效的,它上有Windows XP。但当我为必须运行该程序的机器进行构建时,它就不起作用了。它上面有Windows嵌入式。我想是因为Windows嵌入式中没有control.exe。

所以我试着运行

ShellExecute(NULL,"open","Rundll32.exe","ncpa.cpl","c:\windows\system32\",SW_NORMAL);

但这是行不通的。它返回42所以它的成功,但仍然没有发生任何事情。我尝试了各种其他选项,比如使用"ncpa.cpl,"和使用"Rundll32.exe Shell32.dll"而不是"Rundll32.exe",但这也不起作用。我如何使用ShellExecute,以便它既能在我的机器上工作,也能在Windows Embedded上工作。即使有一个只适用于Windows Embedded的解决方案,这也很好,因为我只会#定义它。

一个选项是跳过ShellExecute,使用其CPlApplet入口点直接加载和调用控制面板。MSDN中记录了需要遵循的协议(从控制面板的角度来看)。那么你就不需要任何外部助手应用程序来启动控制面板;你只需要在你的过程中正确地主持它。