首页  >   经验  >   Windows零基础入门:4.5 获取窗口类所属的应用程序实例句柄

Windows零基础入门:4.5 获取窗口类所属的应用程序实例句柄

codexia 2015-10-28 21:56:28 1773 会员文章,禁止转载
Windows   入门  
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
简介我们的窗口类是一个程序的界面,这个界面就是窗口。而这个窗口需要创建,就需要注册窗口类。有的窗口类是已经注册好的系统窗口类,有的是需要自己注册的。而每一个窗口类都是有与之关联的实例句柄的。这样就可以确定这个窗口类是在哪个实例注册的,也就是属于谁。
感谢 阿里云 对本站(本站由阿里云高性能服务器搭建)的赞助支持,本站推荐 →高性能云服务器2折起优惠由此进←↓
高性能云服务器2折起
秒后广告自动消失...会员无广告。点击可关闭广告。

    在前面的章节中,我们WNDCLASS结构体,它其中一个成员就是hInstance。它是一个实例句柄。我想,我们有必要再继续了解下。
    应用程序实例是由一个exe运行后产生的一个进程。而这个exe可以被运行很多次,也就产生了很多的进程。这里将这个exe视为单进程的程序,简化描述。而exe文件始终就只有一份,但是却产生了很多个进程。这里要排除程序限制exe一次只能运行一个进程的情况。而不管是哪样,这样创建出来的进程,就是一个应用程序的实例。每一次双击exe其实就是创建了一个应用程序的一个实例。那么这个实例就是用hInstance参数来唯一标识的。系统可以通过这个唯一的标识准确无误的停止一个实例的运行,而不会误伤其他实例。
    我们的窗口类是一个程序的界面,这个界面就是窗口。而这个窗口需要创建,就需要注册窗口类。有的窗口类是已经注册好的系统窗口类,有的是需要自己注册的。而每一个窗口类都是有与之关联的实例句柄的。这样就可以确定这个窗口类是在哪个实例注册的,也就是属于谁。
    而实例反应到内存层面,其实就是一段内存空间。那么窗口类属于不同的空间,也就在不同的空间中。在内存中,不同进程是相互隔离的,因此这个就是作用范围的问题。在一个进程注册的应用程序局部窗口类,就只能在这个进程内部的范围看见。
    有时候我们需要通过窗口的窗口类来确定这个进程的实例句柄,就可以个、通过窗口类关联的实例句柄来得到。得到实例句柄是有很多好处的,比如可以使用实例中的资源等。进程在内存中都视为模块,包括dll也是其中一个模块类型,因为他们都是以一个整体放在内存的一个区域的,这一段内存是连续的。这也是模块的叫法的依据之一。下面是一个简单的示意图,简单示意一下进程、dll都是以整块连续内存存储的,不必深究。

   

开通会员,查看全部
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0
公众号
微信赞赏
支付宝赞赏
领支付宝大红包
QQ群

相关阅读

分享到:
分享文章[Windows零基础入门:4.5 获取窗口类所属的应用程序实例句柄]到QQ空间

课程菜单

猜您感兴趣