为什么这段代码不起作用? :(
CString parameterA = _T("c:\Program Files\test\identify.exe");
CString parameterB = _T(" -format \"%w\" ") + pictureName;
if (CreateProcess(parameterA.GetBuffer(), parameterB.GetBuffer(),0,0,TRUE,
NORMAL_PRIORITY_CLASS|CREATE_NO_WINDOW,0,0,&sInfo,&pInfo))
{
WaitForSingleObject (pInfo.hProcess, INFINITE);
}
但是,当我改变....
CString parameterA = _T("c:\Program Files\test\identify.exe");
要..
CString parameterA = _T("identify.exe");
它只是有效。
帮帮我......
答案 0 :(得分:1)
这是斜杠。
CString parameterA = _T("c:\Program Files\test\identify.exe");
请注意,您有转义序列\P
,\t
和\i
,其中只有一个实际上意味着某些内容(\t
是制表符,而不是你真的想要!)。
相反,转义斜杠使它们被解释为斜杠:
CString parameterA = _T("c:\\Program Files\\test\\identify.exe");