首页
社区
课程
招聘
[旧帖] [求助]我刚用VC6调试一个WIN32的EXE时发现,WinMain的参数hInstance都为4000000h,那还怎么用句柄区分不同的进程和窗口? 0.00雪花
发表于: 2008-6-3 12:39 4259

[旧帖] [求助]我刚用VC6调试一个WIN32的EXE时发现,WinMain的参数hInstance都为4000000h,那还怎么用句柄区分不同的进程和窗口? 0.00雪花

2008-6-3 12:39
4259
不是说句柄是可以用来区分不同的进程和窗口的么,如果hInstance都为400000h(好像就是内存映像基地址),那还怎么区别?被这个句柄搞晕了,还有的人说它是指针的指针,汗,刚看PE文件格式时突然想到的。。。。还请各位高手帮忙提示一下怎么理解,多谢了!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
呵呵,记得当时也有这样的疑问,现在算是有点明白了。

windows的进程都有自己的独立的地址空间(4G),所以不同进程一般不可以访问其它进程的数据。
2008-6-3 15:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不同进程一般不可以访问其它进程的数据? 那不同进程访问窗口应该是可以的吧?比如我要在一个进程中向另一个进程的某个窗口SendMessage,其中不就有个hwnd的句柄参数么?那在这里WINDOWS又是如何定位到这个窗口的呢?
2008-6-3 16:22
0
雪    币: 107
活跃值: (1683)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
4
不同进程之间访问应该是DLL里面的函数吧
2008-6-3 16:59
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
5
hWnd窗口句柄和hInstance程序实例句柄是不同的,hWnd窗口句柄只是一个只有Windows才知道其意义的窗口标识数,这个窗口句柄可以其他进程序可以通过调用相关API函数操作窗口,而hInstance程序实例句柄可以说是一个内存指针,这个指针指向当前程序加载的虚拟基地址并只对本进程有效。你可以通过这个实例指针读取PE文件各个地方的数据。
2008-6-3 18:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
也就是说各窗口的hWnd窗口句柄在整个系统中是不会重复的。应该可以这样理解吧?好了,大致懂了,谢谢楼上各位!
2008-6-3 20:22
0
游客
登录 | 注册 方可回帖
返回
//