启动foo.exe
时我需要知道(最好是延迟时间最短)。
现在,我有一个位于光循环(~10 Hz)的线程,并在进程树中查找foo.exe
。
这不是很优雅,我想知道是否可以注册Windows API的某些部分,以便在任何进程启动时获得回调。
如果没有这样的设施,我当然愿意接受更优雅地完成这项任务的其他方法。
答案 0 :(得分:4)
您可以通过Image File Execution Options将自己注册为foo.exe的调试程序。只要系统需要启动foo.exe,它就会启动你的应用并将foo.exe及其参数传递给你。你必须自己开始这个过程。
注意:像往常一样,Raymond Chen有些words of caution。
您还可以设置一个system-wide message hook,并为每个新进程加载你的dll,检查它是否是你刚才通过的那个,对于foo.exe你通知自己然后通过。不幸的是,这意味着你将在每个进程中注入你的代码,并且你会损害系统性能。更不用说如果您的代码中有错误,您实际上可以软管每个人。
答案 1 :(得分:0)