【发布时间】:2011-05-31 16:56:53
【问题描述】:
来自 MSDN 上的 GetActiveWindow "检索附加到调用线程的消息队列的活动窗口的窗口句柄。"
我正在使用它的 Ruby API 编写 SketchUp 插件。目前正在尝试通过 Win32 对某些窗口进行一些调整。从 Ruby API 我对 SU 的窗口和线程的信息非常有限。只要 SketchUp 窗口有焦点,GetActiveWindow 就可以正常工作 - 否则会失败。
所以我正在寻找一种安全的方法来获取 SketchUp 窗口的句柄,无论它是否有焦点。
看到 GetActiveWindow 如何获取调用进程的活动窗口,我想知道是否可以枚举属于调用进程的窗口。然后我可以浏览结果并找到我的窗口。
或者,获取调用线程的进程 ID,这样我就可以枚举所有窗口并挑选出属于我的脚本运行所在线程的窗口。
有什么想法吗?
【问题讨论】: