谁能例举一下有什么原因会使调用ReadProcessMemory函数读目标进程数据失败?我有一个程序用到了ReadProcessMemory函数,我朋友一直用这个程序都很好,
没出过问题,可是有一次他重装操作系统后这个程序就不能用了。而且我能肯定
的是,问题就出在ReadProcessMemory 函数调用失败上。这种问题很奇怪,哪位朋友能帮我解答吗?
没出过问题,可是有一次他重装操作系统后这个程序就不能用了。而且我能肯定
的是,问题就出在ReadProcessMemory 函数调用失败上。这种问题很奇怪,哪位朋友能帮我解答吗?
谁能例举一下,有什么原因会导致调用ReadProcessMemory函数读目标进程数据失败?
ReadProcessMemory函数调用是否成功跟系统的设置有关吗?
1.PID是否为0
2.是否是系统进程
3.进程是否打开成功
4.缓冲区大小小于你的读取长度
5.别的什么原因~~反正我是经常吧Length(Buf)写成.Sizeof(Buf)所以经常出错
(偶稀饭..Buf:String..下面动态申请内存)6.最关键一个~就是你的读取基址是不是不存在!!!!!看看MSDN应该你的参数问题
2.不是系统进程
3.进程打开成功
4.缓冲区大小不小于我的读取长度
5.ReadProcessMemory的第四个参数,读取长度也没问题
6.我的程序功能是读取游戏进程的内存数据,问题是同样
的程序在别人的电脑里面运行都能成功读取所需要的数
据,可在我那个朋友的电脑里面运行就提示ReadProcessMemory
调用失败(我在程序里面插入了判断语句)。可更奇怪的
是,是在朋友重装系统后才出现ReadProcessMemory
调用失败的,之前还是正常的。
权限的问题??getLastError 看看
冒险岛类似的游戏是这样的保护你装个金山游侠试试
不过你的OpenProcess函数的第一个参数修改成
对进程进行任何操作
修改游戏数据的时候最好暂停游戏(搜索游戏窗口的进程然后!Debug他)
然后就可以修改了~~修改完毕以后再恢复线程