关于读取内存的
我有这样一个函数:
void ReadMemory(unsigned long PID,TStringGrid *lsTarget, unsigned long AddrBegin)
{
HANDLE hwndTemp;
unsigned long lBase;
unsigned char pBuffer[240];
DWord nRead;
bool Ret;
int i,j;
hwndTemp = OpenProcess(PROCESS_VM_READ,true,PID);
if (hwndTemp !=NULL)
{
lBase = AddrBegin;
Ret = ReadProcessMemory(hwndTemp,&lBase,pBuffer,240,&nRead);
if (nRead == 240)
{
for (i = 1;i < 16;i ++)
{
for (j = 1;j < 17;j ++)
lsTarget->Cells[i][j] = IntToHex(pBuffer[i*16 + j - 17],2);
}
}
}
CloseHandle(hwndTemp);
}
目的是读取另一进程的一块内存并在一个StringGrid上显示。
但是总不得正确结果。
请各高手帮忙,谢了。