我是否需要在CloseHandle()
返回的句柄上调用EnumWindows()
?
答案 0 :(得分:6)
你只对在kernel32中的函数返回的句柄上使用CloseHandle()。它们被引用计数,关闭最后一个句柄会破坏对象。文件,互斥体,事件,那种对象。
窗口句柄不同,它们的生命周期由用户决定。或者在程序中显式调用DestroyWindow()。枚举窗口时,您不想调用DestroyWindow()。
GDI句柄不同,它们通常具有专用的发布功能。 CreatePen vs DeleteObject,GetDC vs ReleaseDC,CreateDC vs DeleteDC等。如有疑问,请始终查阅相应的创建函数,以了解如何再次发布它。 SDK文档永远不会跳过它。这是通过省略来记录的,EnumWindows文档并没有说你需要释放句柄,所以你没有。
所以没有。
答案 1 :(得分:0)
我会说不。那是为了摧毁你不再需要的东西。你没有打电话给CreateWindow
。