汇编-模块的概念

一个模块代表的是一个运行中的exe文件或dll文件, 用来代表这个文件中所有的代码和资源

磁盘上的文件不是模块, 装入内存后运行时就叫做模块。

一个应用程序调用其他DLL 中的API时, 这些DLL文件被装入内存, 就产生了不同的模块, 为了区分地址空间中的不同模块,每个模块都有一个惟一的模块句柄来标识。
由于很多API函数中都要用到程序的模块句柄, 以便利用程序中的各种资源, 所以在程序的一开始就先取得模块句柄并存放到一个全局变量中可以省去很多的麻烦,

在Win32中,模块句柄在数值上等于程序在内存中装入的起始地址

取模块句柄使用的API函数是GetModuleHandle, 它的使用方法是:

invoke GetModuleHandle, lpModuleName

lpModuleName参数是一个指向含有模块名称字符串的指针

例如, 如果想得到User32.dll的句柄以便使用其中包含的图标资源,那么可以如下使用:

 

 

 

 

 

 

 

 

 

posted @   天子骄龙  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2023-01-21 MFC-钩子(拦截消息)
2022-01-21 halcon-dev_update_off()和dev_update_on()
2022-01-21 qt5-使用MSVC编译器中文时
2022-01-21 halcon-Qt 5.13联合halcon的配置
2022-01-21 halcon-read_image读入图像
2022-01-21 halcon-HDevelop使用
2022-01-21 对比色
点击右上角即可分享
微信分享提示