关于读取内存的

Micro_J 2001-07-13 10:18:22
我有这样一个函数:

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上显示。
但是总不得正确结果。

请各高手帮忙,谢了。
...全文
73 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gqxs 2001-07-13
  • 打赏
  • 举报
回复
up
Wingsun 2001-07-13
  • 打赏
  • 举报
回复
为什么是从1开始呢,而不是从0开始?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧