CreateProcess()错误

Aba*_*oub 1 c++ windows createprocess

STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si, 0, sizeof(si));
memset(&pi, 0, sizeof(pi));
si.cb = sizeof(si);

LPCWSTR procName =(LPCWSTR)"D:\\test dir 1\\Calc.exe";
LPWSTR procArg   =(LPWSTR)"blacknull";

if(CreateProcess(procName,procArg,0,0,0,CREATE_DEFAULT_ERROR_MODE,0,0,&si,&pi))
{
    //do some work
}

printf( "CreateProcess failed (%d).\n", GetLastError());
     system("Pause");
Run Code Online (Sandbox Code Playgroud)

它不断抛出错误(2) - > The System cannot find the file specified.

我不知道出了什么问题.我也尝试在同一个Dir中使用"Calc.exe".但它不起作用.

MSN*_*MSN 5

您使用L前缀来创建宽字符串:

L"D:\\test dir 1\\Calc.exe";
Run Code Online (Sandbox Code Playgroud)

将字符串文字强制转换为不同的字符宽度不会使字符串变宽.