关于ReadProcessMemory的一个问题
DWORD base=0x123456;
hprocess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID);
1: ReadProcessMemory(hprocess,(LPCVOID)base,&base,4,0);
str.Format("%X",base);
::AfxMessageBox(str);
2: ReadProcessMemory(hprocess,(LPCVOID)(base+0x44C),&base,4,0);
str.Format("%X",base);
::AfxMessageBox(str);
ReadProcessMemory(hprocess,(LPCVOID)(base+0x0),&name,sizeof(name),0);//namename
s=name;
在“hprocess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID); ”之前的代码运行正常pe32.th32ProcessID返回的值与读取的程序pid相同AfxMessagebox里返回的base却始终不变,按理执行“1:”后base的地址&base应该等于0x123456,但是执行后却没有变仍然是原来base的地址,执行“2:”&base仍然没有更改。请问一下这是为什么。调试模式为Release,字符集改成了使用多字节字符集。其他的从创建MFC对话框后都没有动。