TL;DR - Spy++ 工具如何真正构建其进程列表?
阶段
我们有一个 MFC 桌面应用程序(在 Windows XP 上运行)挂起,它不再对任何用户输入使用react。但是,当通过 alt-tab 切换到它时,它被重绘了。 (它确实接收到 WM_SETFOCUS
、WM_ACTIVATE
等。它显然没有接收到任何鼠标或键盘消息。)
由于该应用程序处于某种不确定状态,我们拉取了一些进程转储,但到目前为止这些帮助不大。输入:
Spy++
我们使用 Spy++ 找到我上面提供的有关此应用程序似乎正在处理的窗口消息的信息。我们通过打开 Windows View 来做到这一点并选择我们的应用程序窗口,并在消息属性中选择 Windows of same process
和 Messages to View
: Select All
。
但是我们首先尝试通过打开 Processes View 查看此进程的所有消息 Spy++ 和我们的应用程序未显示在此进程列表中。在另一台运行正常的PC上交叉检查,在Spy++的进程列表中也正常显示进程。
是否可以从进程未显示在 Spy++ 的进程 View 中这一事实推断出有关行为不当的应用程序的任何信息,但应用程序的主窗口显示在 Windows View 中。 为什么主窗口可见的进程不会显示在 Spy++ 的进程 View 中?
进程列在任务管理器和 Visual Studio 2005 的附加进程窗口中。所以这些工具显然使用与 Spy++ 不同的方法来列出进程......?
应用程序当前挂起的系统是Windows XP SP2系统,我们使用了Visual Studio 2005自带的Spy++ Utility。
该行为偶尔会再次出现,但只会在应用程序运行几天后出现!
最佳答案
运行 Vista 或更高版本?您的进程可能已提升,而 Spy++ 未提升。较新版本的 Spy++ 需要提升。因此,请尝试显式提升 Spy++,看看是否有帮助。
关于windows - Spy++ 如何构建它的进程列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8180527/