我遇到了麻烦,归结为希望CreateProcess
是StartProcess
。问题是在某些情况下,它创建CreateProcess
进程时返回true,但系统无法启动进程。例如,即使启动者的其中一个导入无法解析,也会成功。CreateProcess
根据我希望通过启动此过程完成的具体目标,可能有十几个建议。但是,我担心这些建议都不可能有用,因为我不希望通过启动这个过程来完成任何特别的事情。
一个示例建议可能是调用WaitForSingleObject
进程句柄,然后调用GetExitCodeProcess
. 但我等不及进程退出,因为它可能会永远存在。
另一个示例建议可能是 call WaitForInputIdle
,如果我希望通过我可以合理地期望启动者创建的窗口与启动者进行通信,这将很有效。但我不希望这样,我也不能合理地期待这一点。据我所知,启动者是一个控制台进程和/或永远不会有消息队列。同样,我不能等待(带着启发式意图)找出答案。
事实上,我不能假设关于发射者的任何事情。
为了更好地了解我在这里的想法,让我们看看问题的另一面。如果该过程没有启动,我需要一个错误代码来告诉我如何建议用户。如果导入全部解决并且主线程意识到它即将跳转到 CRT 启动代码(或等效代码),并且我得到的错误代码是ERROR_SUCCESS
,太好了!但我实际上对启动器不感兴趣,只是希望在启动器中提供良好的用户体验。
哦,还有一件事:我希望这很简单。我不想写调试器。:-)
想法?