Windows核心编程学习笔记(3)--获得可执行文件的实例和dll文件的实例句柄

来源:互联网 发布:淘宝店买卖平台 编辑:程序博客网 时间:2024/05/20 00:52

Drecik学习经验分享

转载请注明出处:http://blog.csdn.net/drecik__/article/details/8079742

 

获得可执行或DLL文件的实例句柄,可以使用函数GetModuleHandle函数来获得

HMODULE GetModuleHandle( LPCSTR lpModuleName );

参数为要加载的可执行文件或DLL名,当传入NULL的时候返回的是当前可执行文件的实例

注意:当当前可执行文件未调用该DLL文件中的函数,使用该函数访问该DLL时将返回NULL。当在DLL文件使用该函数传入NULL时,返回的是加载该DLL文件的可执行文件实例

在DLL中可以使用全局变量__ImageBase的地址来获得全局句柄,或者使用如下函数:

BOOL GetModuleHandleExW(DWORDdwFlags,LPCWSTRlpModuleName,HMODULE*phModule);

第一个参数传入GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, 第二个参数传入当前的函数名,第三个参数作为返回的实例句柄

原创粉丝点击