我将EXE实现为MFC CPropertySheet(用于诊断接口),充当主应用程序的服务器进程。主应用程序在启动时启动它,我希望服务器最初是不可见的和背景。
我正在使用CreateProcess(也尝试过WinExec),当进程确实隐藏启动时,它总是在启动时窃取激活(即停用主应用程序),即使在隐身时也是如此。
我已经尝试了很多东西来阻止这种情况发生:
我作为测试嫁接的基于CDialog的进程不会发生这种情况,所以它似乎只是CPropertySheet或实现它的底层Windows公共控件的问题。
有没有人知道为什么会这样?或者有关尝试诊断激活发生位置的任何提示?我真的很难过。