请问C++ SDK一个问题
HINSTANCEhin;和HANDLEhand;这两个实例化有什么区别?哪些场合用HINSTANCE哪些场合用HANDLE哪些场合都可以用?请各位详细回答小菜再次谢过了...
HINSTANCE hin;和 HANDLE hand;
这两个实例化 有什么区别?
哪些场合 用HINSTANCE
哪些场合 用HANDLE
哪些场合 都可以用?
请各位详细回答 小菜再次谢过了 展开
这两个实例化 有什么区别?
哪些场合 用HINSTANCE
哪些场合 用HANDLE
哪些场合 都可以用?
请各位详细回答 小菜再次谢过了 展开
4个回答
展开全部
HINSTANCE 这个其实是 handle instance 即 实例句柄
而HANDLE这个 意思是句柄, 你可以理解为它是所有的句柄的总称
因为句柄包括很多种啊 像 窗口句柄(HWND) ,实例句柄(HINSTANCE)
光标句柄(HCURSOR) 图标句柄(HICON)
可以看到 以H 开头的都是句柄类型的, 后边的英文可以体现具体它是哪一种句柄
具体什么时候用哪一个, 这个要看函数是如何规定的了
比如一个API函数, 它返回值是 句柄类型的, 那它可能是HWND 也可能是HINSTANCE 还可能是HCURSOR 这些在MSDN中API函数的介绍中都有明确的说明,你自己跟本不必再意到底该用哪个, 按照函数规定的去写 就可以啦
而HANDLE这个 意思是句柄, 你可以理解为它是所有的句柄的总称
因为句柄包括很多种啊 像 窗口句柄(HWND) ,实例句柄(HINSTANCE)
光标句柄(HCURSOR) 图标句柄(HICON)
可以看到 以H 开头的都是句柄类型的, 后边的英文可以体现具体它是哪一种句柄
具体什么时候用哪一个, 这个要看函数是如何规定的了
比如一个API函数, 它返回值是 句柄类型的, 那它可能是HWND 也可能是HINSTANCE 还可能是HCURSOR 这些在MSDN中API函数的介绍中都有明确的说明,你自己跟本不必再意到底该用哪个, 按照函数规定的去写 就可以啦
展开全部
HANDLE
Handle to an object.
This type is declared in WinNT.h as follows:
typedef PVOID HANDLE;
HINSTANCE
Handle to an instance.
This type is declared in WinDef.h as follows:
typedef HANDLE HINSTANCE;
2者本质上是一样的,区别在于object和instance
我只能帮忙提供这些信息,希望有帮助
Handle to an object.
This type is declared in WinNT.h as follows:
typedef PVOID HANDLE;
HINSTANCE
Handle to an instance.
This type is declared in WinDef.h as follows:
typedef HANDLE HINSTANCE;
2者本质上是一样的,区别在于object和instance
我只能帮忙提供这些信息,希望有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本质上,所有句柄都是HANDLE的typedef,而HANDLE又是void*。
微软在抽象层面上搞出了这么多不同的HANDLE。
赤裸裸的HANDLE是执行体对象(也有叫内核对象)的句柄。它的值是执行体对象的一个索引,每个进程有自己的执行体对象索引表
HINSTANCE及HMODULE都是一个模块(exe或dll或其它)的句柄。它的值就是模块的基地址。
HWND是一个窗口用户对象的句柄。它的值也是一个索引,不过是在win32k.sys创建的一个全局索引表里的索引。
其它用户对象句柄与HWND的规则类似
微软在抽象层面上搞出了这么多不同的HANDLE。
赤裸裸的HANDLE是执行体对象(也有叫内核对象)的句柄。它的值是执行体对象的一个索引,每个进程有自己的执行体对象索引表
HINSTANCE及HMODULE都是一个模块(exe或dll或其它)的句柄。它的值就是模块的基地址。
HWND是一个窗口用户对象的句柄。它的值也是一个索引,不过是在win32k.sys创建的一个全局索引表里的索引。
其它用户对象句柄与HWND的规则类似
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二楼说的蛮好的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询