摘要: 1.进程实例句柄加载到进程地址空间的每一个可执行文件或者dll文件都被赋予了一个独一无二的实例句柄.他实际上是一个内存基地址,系统将可执行程序的映像加载到进程地址空间中的这个位置。Ps :HMODULE和HINSTANCE 其实就是一回事.获得一个可执行文件或者dll文件的句柄/基地址:(1)GetModuleHandle函数HMODULE GetModuleHandle( LPCTSTRlpModuleName);调用这个函数时,参数指定了已在主调进程的地址空间中加载的一个可执行文件或者DLL文件的名称。或者参数为NULL时,会返回主调函数的可执行文件的基地址。(2)GetModuleHan 阅读全文
posted @ 2011-08-08 16:46 飞翔荷兰人 阅读(1574) 评论(0) 推荐(0)
摘要: 显式的载入DLL模块HMODULE WINAPILoadLibrary( __inLPCTSTR lpFileName);HMODULE WINAPI LoadLibraryEx( __in LPCTSTR lpFileName, HANDLE hFile, __in DWORD dwFlags);hFile参数是为将来扩充所保留的,现在必须将它设为NULL;dwFlags 参数可以被设置为0,或者下列标志的组合:DONT_RESOLVE_DLL_REFERENCES,LOAD_IGNORE_CODE_AUTHZ_LEVEL, LOAD_LIBRARY_AS_DATAFILE, LOAD_LI 阅读全文
posted @ 2011-08-08 15:45 飞翔荷兰人 阅读(1884) 评论(0) 推荐(0)
摘要: .DLL和进程的地址空间创建DLL通常比创建应用程序容易,因为DLL通常由一组可供任何应用程序使用的独立函数组成。在DLL中,通常没有用来处理消息循环或创建窗口的代码。 DLL只不过是一组源代码模块,每个模块包含一些可供应用程序(可执行文件)或其他DLL调用的函数。在应用程序(或其他DLL)能够调用一个DLL中的函数之前,必须将该DLL的文件映像映射到调用进程的地址空间中。我们可以通过两种方法来达到这一目的:隐式载入时连接(implicit load-time linking)或显示运行时链接(explicit run-time linking)。 一旦系统将一个DLL的文件映像映射到调用进程 阅读全文
posted @ 2011-08-08 15:29 飞翔荷兰人 阅读(4231) 评论(0) 推荐(3)

I Love Lina~