C++里面的HINSTANCE, HANDLE和HWND

发布时间 2023-10-09 17:11:13作者: 新西兰程序员

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类型