1
34
IsWindow . 尽管使用它的原因有二:
可以做些什么? 也许可以重新设计您的问题,这样您就不需要检查有效的句柄。例如,您可以建立一个从客户端到服务器的管道。 您还可以创建一个windows钩子来检测某些消息何时出现,但对于大多数需求来说,这可能是过分的。 |
2
15
这个问题很老了,但我自己也需要这个功能,在阅读了有关注意事项后,我有点失望。然而,在做了更多的挖掘之后,似乎一切都很好。除非您处理的是16位程序,否则IsWindow似乎是一个不错的选择。手柄重复使用问题似乎已根据以下内容得到充分解决: http://blogs.msdn.com/b/oldnewthing/archive/2007/07/17/3903614.aspx 因此,由于上面的16位重用计数器,您不太可能遇到窗口重用问题。 |
3
8
你可以用 IsWindow() 或者也尝试向窗口发送WM_NULL消息 SendMessage (hWnd,WM_NULL)并查看是否成功。
我所知道的唯一解决方案是创建一个系统范围的 hook 它查找指示窗口被破坏的消息(WM_CLOSE,WM_DESTROY)。然后将消息窗口句柄与您持有的窗口句柄进行比较,以查看您关心的窗口是否受到影响。 See here for more information on system wide hooks. |
4
4
也许是两者的结合
|
5
1
如果所讨论的窗口的窗口过程在您的控制之下(或者如果您可以将其子类化),那么我建议注册一条自定义消息,该窗口将以非零结果响应该消息。将该消息发送到任何其他窗口(或无效HWND)将导致0。 当然,这只会告诉您HWND是否引用了您控制的某个窗口——但如果给出上面的其他答案,这可能会更有利。
|
6
-1
|
vini · 安装wfp内核驱动程序后,devcon状态返回39 2 年前 |
I101I · 如何镜像HBITMAP 2 年前 |
E235 · 如何查看谁创建了Windows NamedPipe 2 年前 |
Pizza Ãcke · 创建带有内存映像的Windows托盘图标 2 年前 |
Jabu · 如何获取列表框滚动条“拇指”的高度? 2 年前 |
tree1234 · 对可执行文件进行代码设计,并允许修改某些字节 2 年前 |
Penachia · PDF FontDescriptor标志 6 年前 |