【发布时间】:2010-09-20 21:47:03
【问题描述】:
我有一个关于我滥用 CreateProcess 的症状的问题。我正在使用 lpcommandline 参数来提供我的可执行文件和参数的路径。我的误用是我没有用引号包围 exe 的路径。
我的问题是,为什么 CreateProcess 在大多数计算机上都能正常工作,而在其他计算机上却不行?我知道路径在大多数情况下都会有空间,但在 90% 的 XP 机器上它可以工作。我当然在那些没有发现的那 10% 上发现了我的问题。但我想知道它不起作用的机器上有什么不同?有没有你们任何人都知道的设置或政策。是的,我要解决报价问题。只是好奇为什么这样的事情不会一败涂地。
所以代码如下所示,szCommandLine 参数如下所示。注意 exe 的路径周围没有引号。
"C:\Program Files\My Company\doit.exe parameter1 parameter2"
CreateProcess(
NULL,
szCommandLine,
NULL,
NULL,
FALSE,
NULL,
NULL,
NULL,
&si,
&pi )
【问题讨论】: