xp下用户程序空间分配(3):加载文件

2012-03-04
浏览
导读:一个程序要想执行,总是要加载到内存里面的,为此我们使用下面的代码查询所有模块的信息,再找 到它们在内存里面的对应位置: HANDLE hProcess; HMODULE hModul

一个程序要想执行,总是要加载到内存里面的,为此我们使用下面的代码查询所有模块的信息,再找 到它们在内存里面的对应位置:

HANDLE hProcess;
HMODULE   hModule[0x70];
TCHAR strFileName [MAX_PATH];
DWORD   cbNeeded;
MODULEINFO   modinfo;

hProcess = GetCurrentProcess();
if(EnumProcessModules(hProcess,   hModule,   sizeof(HMODULE) * 0x30,   &cbNeeded))
{
for(n = 0; n < cbNeeded / sizeof(HMODULE); n++)
{
GetModuleFileName(hModule[n], strFileName, MAX_PATH);
GetModuleInformation( hProcess, hModule[n], &modinfo, sizeof(MODULEINFO) );

// 根据lpBaseOfDll得到其它的数据
……………
}
}

于是就得到了下面的结果(数值均为十六进制):

咱先找几个有意思的看看。

ListBox自画的另一种效果

通过消息实现自定义输入框(InputBox)

深入浅出Win32多线程程序设计综合实例

xp下用户程序空间分配(3):加载文件

xp下用户程序空间分配(2):栈