能力值:
( LV2,RANK:10 )
|
-
-
2 楼
到底怎么样嘛??????????????????
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
"句柄"是什么呢?句柄只是一个数值而已,它的值对程序来说是没有意义的,它只是Windows用来表示各种资源的编号而已,可见只有Windows才知道怎么使用它来引用各种资源。
为了区分地址空间中的不同模块,每个模块都有一个惟一的模块句柄来标识。
在常用的编译器里,EXE模块句柄的默认值是00400000 DLL模块句柄的默认值10000000
在C语言的编程中,hInstance通过WinMain由系统传入,WinMain的原型是:
WinMain(hInstance,hPrevInstance,lpzCmdParam,nCmdShow),程序不用自己去获得hInstance,这个过程由C的初始化代码代劳了,但在Win32汇编中hInstance必须自己获取,如果不了解hModule就是hInstance的话,就无法得知如何得到hInstance,因为并没有一个类似于GetInstanceHandle之类的API函数。
|
能力值:
( LV5,RANK:70 )
|
-
-
4 楼
对于模块来说,句柄就是这个模块的基址.
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
一个进程在初始化时,系统将为它分配一个句柄表(handle table).句柄表仅供Windows内核对象使用,句柄表的结构未文档化,大致结构三项:指向内核对象内存块的指针,访问掩码,标志
句柄值实际是作为句柄表的索引来使用的,是与进程相关的。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
都很有道理,不过我就知道这个句柄其实是一个地址值,所以,这里我的问题又转变为这个模块的结构是怎么样的?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
模块的句柄就是模块在内存中的地址,具体结构就是PE加载后的结构
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
3q
3q
3q
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
新人交流投稿
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
模块句柄值一般就是这个模块在内存中的起始地址
|
|
|