下面的一段程序,在Windows 2K 下执行,
hMod = 0x77e60000 c = 0x77e801d5
在windows XP下执行
hMod = 0x77e40000 c = 0x0c032b33, 显然不对啊,应该是0x77XXXXXX才对啊.
究竟有什么不对或是不同吗?
#include "Windows.h"int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here. HMODULE hMod = GetModuleHandle("Kernel32");
PROC c = (PROC)GetProcAddress(hMod,"LoadLibraryA");
return 0;
}
hMod = 0x77e60000 c = 0x77e801d5
在windows XP下执行
hMod = 0x77e40000 c = 0x0c032b33, 显然不对啊,应该是0x77XXXXXX才对啊.
究竟有什么不对或是不同吗?
#include "Windows.h"int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here. HMODULE hMod = GetModuleHandle("Kernel32");
PROC c = (PROC)GetProcAddress(hMod,"LoadLibraryA");
return 0;
}
解决方案 »
- 求一个AfxBeginThread线程函数完美的结束方法
- CS1.6中文聊天原理
- 在一个工程中建个CFormView类和一个CListCtrl类,传值问题头痛该怎么解决
- SOS,各位高手帮帮忙啊!!!
- 分配CStringArray后,将其删除时出错?
- 我在setting中定义了unicode,我接着调用函数MessageBox(TEXT("LOVE"),TEXT("Error"),MB_OK);,但是报错
- direct 中为什么会报link错,难道少了什么文件
- 请大家(高手,新手)看过来!!!!!
- 我改了个程序,为什么英文菜单改成中文的就变成乱码?在线,,急!~!~
- 能否在vc中编写能在16位纯dos下运行的程序
- 关于ListBox的使用,如何得知ListBox被添加了一行或删除了一行...在线等待...
- vc导入外部头文件问题
w98 bff70000 bff77750
w2k 77e60000 77e801d5
w2kadvs 77e60000 77e668fb
winxp 77e40000 77e5d961
win2003 77e10000 77e1850d
正如 keiy 所说
nt内核的系统大概都映射到7xxxxxxx
98内核都映射到6xxxxxxx
由于kernel32.dll是系统dll
所以对于每个操作系统的地址是固定的
如同funlove所使用的技术hMod 是一个DLL加载后的起始地址
c一定在hMod地址的后方