在WinCE6上使用CreateProcess

时间:2010-10-29 10:37:36

标签: windows-ce

我正在尝试从我的程序启动一个进程,即cmd.exe。 Doc说我必须使用CreateProcess,下面是我如何使用它:

CreateProcess((LPCWSTR)“\ Windows \ cmd.exe”,(LPCWSTR)“”,0,0,0,0,0,0,0,0); dw = GetLastError(); printf(“%u \ n”,dw);

路径是目标显示的路径(在目标上,我找到了cmd.exe的快捷方式,表示它位于\ windows中。

无论我如何编写路径,错误总是相同的(2)。显然,(2)的错误代码是Invalid_Path。

感谢您的阅读, GQ

3 个答案:

答案 0 :(得分:1)

您传递的字符串不正确,无法创建进程。只是将一个面向字节的字符串转换为LPCWSTR并不能解决它是不正确的数据的问题 - 你真的必须使用一个Unicode字符串,你可以拼写为

CreateProcess(L"\\Windows\\cmd.exe", NULL, 0,0,0,0,0,0,0,0);

或者,您可以使用TEXT()宏。

答案 1 :(得分:0)

路径不正确。使用双反斜杠。

CreateProcess(TEXT("\\Windows\\cmd.exe"), TEXT(""), 0,0,0,0,0,0,0,0);

答案 2 :(得分:0)

此外,最后一个参数不能是NULL。它必须是指向PROCESS_INFORMATION结构的指针。有关详细信息,请参阅以下链接

MSDN link for Creating Process in Windows CE 6.0