【发布时间】:2013-09-06 23:47:30
【问题描述】:
我有一个用户很顽皮,他打电话给SendMessage( HWND_BROADCAST, ... ),发现他们的应用程序自然而然地在那个时候停止了。虽然我会告诉他们停止这样做,但我也想知道系统中的哪个窗口没有响应。
通过使用EnumWindows() 和GetWindowThreadProcessId(),我能够知道没有响应的窗口的HWND、进程ID 和线程ID。但是,该进程是加载许多 DLL 的进程,其中任何一个都可以托管该窗口。我需要找出它是哪一个。
理想情况下,我会使用GetWindowLong( GWL_HINSTANCE ) 找出它是哪个模块,但GWL_HINSTANCE 在我的Windows CE 5 平台上不可用。
还有其他方法可以获取我需要的信息吗?
这个问题的其他表达方式:
- 如何找到哪个 HMODULE/HINSTANCE 拥有特定的线程 ID?
- 如何找到与特定 HWND 关联的 HMODULE/HINSTANCE?
【问题讨论】:
标签: winapi windows-mobile windows-ce