汇编-模块的概念
一个模块代表的是一个运行中的exe文件或dll文件, 用来代表这个文件中所有的代码和资源
磁盘上的文件不是模块, 装入内存后运行时就叫做模块。
一个应用程序调用其他DLL 中的API时, 这些DLL文件被装入内存, 就产生了不同的模块, 为了区分地址空间中的不同模块,每个模块都有一个惟一的模块句柄来标识。
由于很多API函数中都要用到程序的模块句柄, 以便利用程序中的各种资源, 所以在程序的一开始就先取得模块句柄并存放到一个全局变量中可以省去很多的麻烦,
在Win32中,模块句柄在数值上等于程序在内存中装入的起始地址。
取模块句柄使用的API函数是GetModuleHandle, 它的使用方法是:
invoke GetModuleHandle, lpModuleName
lpModuleName参数是一个指向含有模块名称字符串的指针
例如, 如果想得到User32.dll的句柄以便使用其中包含的图标资源,那么可以如下使用: