C++里面的HINSTANCE, HANDLE和HWND

HANDLE是用来标记资源的,也就是handle to an object

HINSTANCE,顾名思义,叫做Handle to an instance,是HANDLE的一种特殊情况,常用来标记App实例

HWND是一个基本类型,和char, int等同级别的,可以把它当做long型去看待. 它分为2部分,H是类型描述,表示句柄(handle); Wnd是变量对象描述,表示窗口  =》 两者结合起来,就表示窗口句柄hWnd

hWnd属性 => 返回窗体或控件的句柄,  句柄是由操作环境定义的一个唯一的整数值,它被程序用来标识或者切换到对象,如窗体或控件等

HINSTANCE顾名思义,就是H + INSTANCE, 其中的H代表Handle(句柄), INSTANCE是实例.  它 是Windows里的一种数据类型,是32位的无符号的长整形,用于标记(记录)一个程序的实例. 它与HMODULE一样 (通用的,这两种类型最终都是无符号长整形)

想得到一个实例,可通过全局API函数GetModuleHandle得到,参数传入模块的名字(exe或者DLL的名字), 返回的类型是HMODULE, 其实就是HINSTANCE类型

hinstance是程序的当前实例的句柄,在Windows这样的多任务操作系统中,一个程序可以运行多个实例,不同的实例需要彼此能够区别,句柄hinstance就是做这个事情的

posted on 2023-10-09 17:03  新西兰程序员  阅读(584)  评论(0编辑  收藏  举报