假如0x004C1226内存里有8个汉字 比如:一二三四五六七八
ReadProcessMemory 如何读出来呢?

解决方案 »

  1.   

    char name[16];
    ReadProcessMemory(nOK,(LPCVOID)0x004C1226,(LPVOID)&name,16,NULL);
    SetDlgItemText(IDC_EDIT1,name);
    这样IDC_EDIT1显示的是乱码,我把内存中放个英文“ABCDEFGH”,这样IDC_EDIT1到是能读出来,就是读出了第一个字母~~ 好奇怪 我就想把“一二三四五六七八”取出来,弄好几天了,请各位帮帮忙!~~ 
      

  2.   

    读取的时候试一下str = _T"内容"
      

  3.   

    因为你定义的是char数组
    你可以再定义一个CString,然后再通过str.Format( "%s", name );来处理字串
    SetDlgItemText(IDC_EDIT1,str);就可以了
      

  4.   

    问题出在两个地方:
    1、ReadProcessMemory(nOK,(LPCVOID)0x004C1226,(LPVOID)name,16,NULL);// name前不用取地址
    2、char name[17];ZeroMemory(name,sizeof(name));此处要多分配一个字节。
      

  5.   

    ZeroMemory(name,sizeof(name));好使 呵呵