Spy ++如何构build其进程列表?

TL; DR – Spy ++工具如何真正构build其进程列表?

阶段

我们有一个MFC桌面应用程序(在Windows XP上运行)挂起来,它不会对任何用户input作出反应。 但是,通过alt-tab切换到它时重绘。 (它接收WM_SETFOCUSWM_ACTIVATE等,它显然没有收到任何鼠标或键盘消息。)

由于该应用程序悬挂在某种程度上,我们拉了一些进程垃圾,但目前为止这些帮助并不大。 input:

间谍++

我们使用Spy ++来查找上面给出的有关此应用程序似乎正在处理的窗口消息的信息。 我们通过打开Windows视图来完成 Windows视图 并select我们的应用程序窗口,并在消息属性中selectWindows of same processMessages to ViewSelect All

但是,我们首先尝试通过打开“ 进程视图”来查看此进程的所有消息 进程视图 Spy ++和我们的应用程序没有显示在这个进程列表中 。 在应用程序正常运行的另一台PC上进行交叉检查,该进程通常也会显示在Spy ++的进程列表中。

从Spy ++的进程视图中没有显示这个进程的事实可以推断出行为不正常的应用程序的任何事情 ,但应用程序的主窗口显示在Windows视图。 为什么在Spy ++的进程视图中有一个不可见的主窗口进程?

该进程列在任务pipe理器和Visual Studio 2005的附加进程窗口中。所以这些工具明显使用不同的方法来列出进程比Spy ++ …?

该应用程序当前挂起的系统是Windows XP SP2系统,我们使用了Visual Studio 2005附带的Spy ++ Utility。

这种行为偶尔会重复发生,但只有在应用程序运行了几天之后!

Solutions Collecting From Web of "Spy ++如何构build其进程列表?"

运行Vista或更高版本? 你的过程可能是提升的,Spy ++不是。 较新版本的Spy ++需要提升。 所以,请尝试明确提升Spy ++,看看是否有帮助。

是的,当然事情可以从这个推断出来。 在这种情况下,不要拿任何我认真说的话,我不得不去看代码。 但是我相信Spy开始关注EnumProcesses API。 (http://msdn.microsoft.com/en-us/library/ms682629.aspx)

所以,如果你的过程没有出现在那里… hrm。

但是,工作系统和不工作系统有什么不同呢?