3

我根据传递给我的EnumWindowsProc的一组关键字将窗口句柄存储到一个列表中,我将这些关键字与窗口标题(调用 GetWindowsText 的结果)进行比较。

我的EnumWindows函数在循环中被多次调用,并且我的列表被创建为不多次添加相同的元素。此时,如果在运行时用户关闭了我当前列表中的一个窗口,我希望能够遍历列表并消除关闭窗口的句柄。我不想对列表中的每个句柄都使用 IsWindowVisible,因为我需要知道窗口是否已关闭,并且此函数将为最小化窗口返回 FALSE。

有没有其他方法可以从窗口句柄中知道它指向的窗口是否已关闭?

任何帮助将不胜感激!

PS:我试图将超链接指向所有引用的函数,但我没有足够的声誉。对不起

4

1 回答 1

3

您可以使用IsWindow函数来检查句柄是否有效。

请注意,由于可以在窗口关闭后重用句柄,因此您应该验证窗口是否仍然满足初始条件(重新检查其标题、类等)。

于 2013-01-17T18:53:27.407 回答