的ShellExecute在Windows嵌入式
问题描述:
ShellExecute(NULL,"open","control.exe","ncpa.cpl","c:\\windows\\system32\\",SW_NORMAL);
打开网络连接窗口。这是我的系统上有Windows XP的工作。但是当我为该程序必须运行的机器构建时,它不起作用。它有Windows Embedded。我想这是因为Windows Embedded中没有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上工作的解决方案,因为我只会#定义它。
对不起,但不知道如何做到这一点大声笑。你能举一个简单的例子来说明如何使用CPIApplet来实现这个功能。我基本上在寻找一行代码,可以调出“网络连接”窗口。 CPIApplet感觉太复杂了,只能提出一个窗口。是否有可能做,如果不是与ShellExecute函数比任何其他函数? – user807665
@ user807665,如果你缺少control.exe,那么这里并没有真正的一行代码;您需要重新实现control.exe的一部分,这是MSDN文档的文档。 – bdonlan
我看过CPIApplet,但我觉得这太麻烦了。我尝试着使用别的东西。创建一个批处理文件来打开ncpa.cpl。然后我简单地使用了ShellExecute(NULL,“open”,“timepass.bat”,NULL,NULL,SW_HIDE);在Windows XP上完美运行,但在嵌入式Windows上无法运行。这里可能是什么问题?我确保timepass.bat在需要的位置(与exe文件位置相同)。对于Windows Embedded,我是否需要添加额外的东西? – user807665