+ -
当前位置:首页 → 问答吧 → OpenProces不能再次使用?

OpenProces不能再次使用?

时间:2011-08-09

来源:互联网

近日写个东东,要求不断地读内存数据,结果老是出错
下断检查,发现:第一次运行时, hProcess 能取得值
如果在后面再次使用, hProcess 就是空值了

代码应该没什么问题:
VB code
   Dim hProcess  As Long
   hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, Pid)
   ReadProcessMemory hProcess, ByVal DataBass, NowData, 2, 0&
   CloseHandle hProcess

作者: SongPixy   发布时间: 2011-08-09

应该算是找到原因了,应该是读取数据以后,不知道哪里产生了错误,继续查……

作者: SongPixy   发布时间: 2011-08-09

要养成一个好习惯来调用API:

x=ReadProcessMemory(hProcess, ByVal DataBass, NowData, 2, 0&)

x返回非0值成功,返回0失败。

作者: chinaboyzyq   发布时间: 2011-08-09

再查,原因是有段读了两个8字节的数据,叉的,看来是溢出了……
VB code
Dim hProcess  As Long
   hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, Pid)
   ReadProcessMemory hProcess, ByVal DataPoint1, DataBass1, 8, 0&
   ReadProcessMemory hProcess, ByVal DataPoint2, DataBass2, 8, 0&
   CloseHandle hProcess

作者: SongPixy   发布时间: 2011-08-09

引用 2 楼 chinaboyzyq 的回复:
要养成一个好习惯来调用API:

x=ReadProcessMemory(hProcess, ByVal DataBass, NowData, 2, 0&)

x返回非0值成功,返回0失败。

呃,偶那会儿已经知道读出错,只是不知道原因……

作者: SongPixy   发布时间: 2011-08-09

不能结贴,再汗一个……

作者: SongPixy   发布时间: 2011-08-09

VB code

pMine = OpenProcess(PROCESS_VM_READ, True, MineID)
lngP=ReadProcessMemory(pMine, miBegin, lpBuffer, nSize, lpNumberOfBytesRead)

作者: Veron_04   发布时间: 2011-08-09

热门下载

更多