Windows 使用bat文件创建进程的奇怪行为

Windows 使用bat文件创建进程的奇怪行为,windows,batch-file,windows-phone-8,cmd,system,Windows,Batch File,Windows Phone 8,Cmd,System,我需要在WindowsPhone8平台上以编程方式执行bat文件。 问题是CreateProcess()并没有给我任何错误。WaitForSingleObject()也没有,它只是通过它而没有等待,这实际上意味着批处理文件永远不会执行(因为bat文件至少需要5分钟才能完成操作)。 以下是我正在使用的代码: param=L“\”c:\\windows\\system32\\cmd.exe\”/c\”c:\\Data\\test\\spec\u run\u dir\\runSpec.bat\”.e

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


param=L“\”c:\\windows\\system32\\cmd.exe\”/c\”c:\\Data\\test\\spec\u run\u dir\\runSpec.bat\”.exe\\”ref\”

如果(!CreateProcess(NULL,
(LPWSTR)参数c_str(),
空,
空,
错误,
0,
空,
空,
&是的,
&pi)
) { 返回(str=GetLastError().ToString()); }

dwEvent=WaitForSingleObject(pi.hProcess,无限)



我做错了什么?有人能帮忙吗?我被这个问题困扰了很长时间。

好的。我找到了解决办法。CreateProcess()的lpApplicationName参数也必须填充“c:\windows\system32\cmd.exe”。这对我很有用。

您不能在手机上使用CreateProcess(),它不会编译。无论您正在运行什么,都不是此代码。运行一个.bat文件,将电池吸空5分钟的想法相当奇怪。这段代码不是用于应用商店,而是用于基准测试。所以,这很正常。对我来说,CreateProcess可以工作,因为我使用自定义SDK。但是,如果你知道使用windows phone SDK的其他方法,请告诉我。@HansPassant你怎么能在一无所知的情况下否决它?呃,等等,有成千上万的SO用户可以投票。你为什么认为是我?就因为我是唯一一个想帮你的人?我必须说,我也很好奇为什么你认为你可以使用CreateProcess,而你的问题并没有给出任何关于这是如何发生的见解。告诉我们你知道什么,这是一条双向的街道。