近日学习时想到的一些问题,望大家能帮助解答,谢谢。用GetModuleHandle函数可以得到进程中指定模块的基地址,比如:HMODULE hMod = GetModuleHandle("user32.dll");那么请问,怎么可以得到进程中指定模块的长度呢?
近日学习时想到的一些问题,望大家能帮助解答,谢谢。用GetModuleHandle函数可以得到进程中指定模块的基地址,比如:HMODULE hMod = GetModuleHandle("user32.dll");那么请问,怎么可以得到进程中指定模块的长度呢?
TCHAR szPath[MAX_PATH];
if ( GetModuleFileName(GetModuleHandle(_T("user32.dll"), szPath, MAX_PATH) > 0 )
{
HANDLE hFile = CreateFile(szPath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0L, NULL);
if (hFile)
{
DWORD dwSize = GetFileSize(hFile, NULL); CloseHandle(hFile);
}
}
to dbger:不是指文件的大小,我是想问:如何得到文件在内存中的镜像的大小。不知这样说是否清楚了呢?
BOOL GetModuleInformation(
HANDLE hProcess,
HMODULE hModule,
LPMODULEINFO lpmodinfo,
DWORD cb
);
to dbger:The GetModuleInformation function retrieves information about the specified module in the MODULEINFO structure. 哈哈,就是这样函数了。dbger,谢谢你。