API函数OpenProcess的问题
纪俊 2003-01-23 05:06:20 我在Winme下的CB中试图用OpenProcess打开扫雷并在接下来用ReadProcessMemory和WriteProcessMemory来修改
扫雷中的数据,但是却在OpenProcess处出错,提示Access violention.请高手们帮忙.
我是按照去年<<程序员>>二月刊中的<<跨越内存禁区,修改游戏数据>>一文写的程序.笔者用Delphi成功地实现
了这些功能.
HWND pt;//窗口句柄
pt=FindWindowEx(0,0,"扫雷",0);
if (pt==0)
{
ShowMessage("扫雷没有启动!");
Close();
}
else
{
ShowMessage("扫雷启动了!");
unsigned long *ptid;
GetWindowThreadProcessId(pt,ptid);
HWND ptprocess;
ptprocess=OpenProcess(PROCESS_ALL_ACCESS,true, *ptid); //Access violention wrong
//上边这一行出错了
ShowMessage("成功了!");
CloseHandle(ptprocess);
}
请高手们帮忙.谢谢!