VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 825|回复: 7

实例句柄的问题

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-2-11 11:30:01 | 显示全部楼层 |阅读模式
实例句柄的实际值是系统将可执行文件的映象加载到进程的地址空间时使用的基本地址空间.

进程的地址空间不是独立的吗?哪为什么实例句柄的值是唯一的?

请问怎么理解
回复

使用道具 举报

0

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-4-8 08:15:01 | 显示全部楼层
实例句柄的实际值是系统将可执行文件的映象加载到进程的地址空间时使用的基本地址空间.
------------------------------------

谁告诉你的?

实例句柄是一个32位无符号整数.它的实际值并没有必要去关心它.
回复

使用道具 举报

0

主题

59

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-4-8 17:15:01 | 显示全部楼层
就像一个国家,每个人的身份证的号码都是不同的,如果有重复,人口的身份识别就会出错,系统也一样,就像定义一个对象:
CDialog dlg1;
CDialog dlg2;

它们的对象实列也绝对不可能相同!
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-4-9 00:30:01 | 显示全部楼层
核心编程上说的,看来是说错了
回复

使用道具 举报

0

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-4-9 15:00:01 | 显示全部楼层
核心编程上说的,看来是说错了
--------------------------------

这本书我也看了,怎么对你说的这话一点印象都没有
回复

使用道具 举报

0

主题

59

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-4-9 17:30:01 | 显示全部楼层
实列句柄在有些场合是需要用得到的,如获得实列的路径和文件名,假如我有两个QQ.exe,一个放在C:另一个放在D:,我同时分别起动了这两个QQ.exe程序,并且我要在程序中获得各自的文件路径,如果说两个执行文件的实例句柄值是一样,到底获得的路径是谁的呢?当然这种情况是不可能的!

TCHAR szPath[MAX_PATH];
GetModuleFileName(GetModuleHandle(NULL), szPath, MAX_PATH);
回复

使用道具 举报

0

主题

59

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-4-10 12:00:01 | 显示全部楼层
不管你看什么书,只要能理解这个实例的意思就行了,系统用来管理这些执行程序的实例,也是唯一标识。
回复

使用道具 举报

0

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-4-17 22:15:01 | 显示全部楼层
//实例句柄的实际值是系统将可执行文件的映象加载到进程的地址空间时使用的基本地址空间.

我觉得这句话是对的,这里的实际值是指可执行文件在执行的时候操作系统给实例分配的,用以唯一标识它。

//实例句柄是一个32位无符号整数.它的实际值并没有必要去关心它.
在VC编程的时候实例句柄确实是一个32位的无符号整数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表