首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FindWindow收到的句柄需要释放吗?

FindWindow收到的句柄需要释放吗?
EN

Stack Overflow用户
提问于 2017-01-25 16:43:20
回答 1查看 423关注 0票数 1

我正在编写的应用程序使用的是虚拟键盘。要显示、隐藏、调整或移动虚拟键盘,我首先需要通过调用FindWindow函数获得它的句柄,然后通过PostMessage向它发送一些消息。

由于我没有使用winapi的经验,我的问题是,我是否需要以某种方式释放这个句柄,或者一旦完成,我就可以忘记它吗?

虚拟键盘本身就是一个进程,它的生命周期比我的应用程序要长。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-25 16:56:31

您不需要完成此句柄。它属于创建该窗口的进程,该进程也负责销毁该窗口。

与内核句柄(文件句柄、事件句柄、互斥锁句柄等)不同窗操纵柄不计算参照数量。您调用FindWindow,然后对窗口句柄做需要做的事情。

但是,请注意,由于系统不会跟踪对窗口句柄的引用,因此如果窗口被销毁,则可以让您持有该被销毁窗口的句柄。如果系统重用了该句柄,那么您现在就拥有了一个不同窗口的句柄。

如果可能的话,当您以这种方式协调多个进程之间的用户界面时,您还应该传递窗口销毁事件,以避免一个进程持有过时的句柄。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41846936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档