CreateProcess函数诡异的表现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CreateProcess函数诡异的表现相关的知识,希望对你有一定的参考价值。
场景:程序A使用CreateProcess函数去启动另一个程序(.exe)文件,在绝大部分情况下是可以成功启动的,但是在某些电脑上无效。
因为这“某些电脑”实在不好找,终于有一天借到一台这样的电脑。
经过多次实验发现,CreateProcess返回值总为-1,也就是成功创建了进程,而且我是用showPrompt,弹窗打印的该值,如果弹窗,就能创建进程。
最后猜想可能是因为CreateProcess之后,随即程序退出了,并不会等程序B创建完成,会不会太快了,导致电脑没反应过来。最后加了一个Sleep(5000); Delphi,程序B就能启动了。
查看了一下msdn,第一句话是这样的:The new process runs in the security context of the calling process.不知道是否与此有关。
如有知晓者,请解答,谢谢。
以上是关于CreateProcess函数诡异的表现的主要内容,如果未能解决你的问题,请参考以下文章
SetWinEventHook 与 CreateProcess, C++