目的:要读取的进程:ABC,内存地址:0x00123456
大约读取16个字符长度的数据。
读取出来之后,把读取到的数据,赋值给一个字符串变量:nameCString name;
ReadProcessMemory(ABC,(LPCVOID)0x00123456,(LPVOID)readed,0x16,NULL);搞了好几天也没搞懂,请各位高手帮忙。
请问这段代码应该如何写?
大约读取16个字符长度的数据。
读取出来之后,把读取到的数据,赋值给一个字符串变量:nameCString name;
ReadProcessMemory(ABC,(LPCVOID)0x00123456,(LPVOID)readed,0x16,NULL);搞了好几天也没搞懂,请各位高手帮忙。
请问这段代码应该如何写?
CString name((LPCSTR)readed);
http://community.csdn.net/Expert/topic/3993/3993010.xml?temp=.1138117
可是,我读取出来的字符总是不能和设定的字符相符合呢?
例如:
已知内存里要读取的内容是:abcdefgchar name[]="abcdefg";
char readname[7];
DWORD read =0x00123456;
ReadProcessMemory(ABCD,(LPCVOID)read,readname,7,NULL);
if(readname == name)
MessageBox("读取成功");
else
MessageBox("读取失败");
所以
char name[]="abcdefg";
char readname[8];
DWORD read =0x00123456;
ReadProcessMemory(ABCD,(LPCVOID)read,readname,7,NULL);
readname[7]=0;
2.char 字符串不能用==比较
要用
if(strcmp(readname,name)==0)
MessageBox("读取成功");
else
MessageBox("读取失败");