使用bat文件的CreateProcess的奇怪行为

时间:2014-06-25 17:46:04

标签: windows batch-file windows-phone-8 cmd system

我需要在Windows Phone 8平台上以编程方式执行bat文件。 问题是CreateProcess()不会给我任何错误。 WaitForSingleObject()也没有等待它只是通过它,这实际上意味着批处理文件永远不会执行(因为bat文件至少需要5分钟才能完成操作)。 这是我正在使用的代码:


param = L" \" c:\\ windows \\ system32 \\ cmd.exe \" / C \" C:\\ Data \\ test \\ spec_run_dir \\ runSpec.bat \" \" .EXE \" \" REF \"&#34 ;;

if(!CreateProcess(NULL,
        (LPWSTR)param.c_str(),
        NULL,
        NULL,
        FALSE,
        0,
        NULL,
        NULL,
        &安培; SI,
        &安培; PI)
        )     {         return(str = GetLastError()。ToString());     }

dwEvent = WaitForSingleObject(pi.hProcess,INFINITE);


我在这里做错了什么?有人可以帮忙吗?我现在已经坚持了很长时间。

1 个答案:

答案 0 :(得分:0)

确定。我找到了解决方案。必须使用" c:\ windows \ system32 \ cmd.exe"填充CreateProcess()的lpApplicationName参数。太。这对我有用。