请问C++ SDK一个问题

HINSTANCEhin;和HANDLEhand;这两个实例化有什么区别?哪些场合用HINSTANCE哪些场合用HANDLE哪些场合都可以用?请各位详细回答小菜再次谢过了... HINSTANCE hin;和 HANDLE hand;
这两个实例化 有什么区别?
哪些场合 用HINSTANCE
哪些场合 用HANDLE
哪些场合 都可以用?
请各位详细回答 小菜再次谢过了
展开
 我来答
zxpointer
2009-08-23 · TA获得超过4103个赞
知道大有可为答主
回答量:1868
采纳率:33%
帮助的人:1217万
展开全部
HINSTANCE 这个其实是 handle instance 即 实例句柄
而HANDLE这个 意思是句柄, 你可以理解为它是所有的句柄的总称

因为句柄包括很多种啊 像 窗口句柄(HWND) ,实例句柄(HINSTANCE)
光标句柄(HCURSOR) 图标句柄(HICON)

可以看到 以H 开头的都是句柄类型的, 后边的英文可以体现具体它是哪一种句柄

具体什么时候用哪一个, 这个要看函数是如何规定的了
比如一个API函数, 它返回值是 句柄类型的, 那它可能是HWND 也可能是HINSTANCE 还可能是HCURSOR 这些在MSDN中API函数的介绍中都有明确的说明,你自己跟本不必再意到底该用哪个, 按照函数规定的去写 就可以啦
silvernii
2009-08-23 · TA获得超过3638个赞
知道大有可为答主
回答量:1667
采纳率:0%
帮助的人:1629万
展开全部
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
我只能帮忙提供这些信息,希望有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyrryyrr2
2009-08-23 · TA获得超过1120个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:450万
展开全部
本质上,所有句柄都是HANDLE的typedef,而HANDLE又是void*。
微软在抽象层面上搞出了这么多不同的HANDLE。
赤裸裸的HANDLE是执行体对象(也有叫内核对象)的句柄。它的值是执行体对象的一个索引,每个进程有自己的执行体对象索引表

HINSTANCE及HMODULE都是一个模块(exe或dll或其它)的句柄。它的值就是模块的基地址。

HWND是一个窗口用户对象的句柄。它的值也是一个索引,不过是在win32k.sys创建的一个全局索引表里的索引。

其它用户对象句柄与HWND的规则类似
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanlihua123
2009-08-23 · TA获得超过1762个赞
知道小有建树答主
回答量:555
采纳率:0%
帮助的人:283万
展开全部
二楼说的蛮好的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式