当窗户关闭时,窗户的把手会发生什么?

时间:2013-01-17 16:56:59

标签: c winapi

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

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

我是否可以通过窗口句柄知道它指向的窗口是否已关闭?

任何帮助将不胜感激!

PS:我试图将超链接放到引用的所有函数中,但我没有足够的声誉。遗憾

1 个答案:

答案 0 :(得分:2)

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

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