高手帮我看看,为什么读不出来?问题解决就结帖

greentest 2007-04-15 06:57:41
进程已经打开,可读不出来,为什么?换了byte也不行,用数组也不行,郁闷

Public Function dc(hwnd1 As Long, lpADDress As Long) As Long
' 声明一些需要的变量
Dim pid As Long ' 储存进程标识符( Process Id )
Dim pHandle As Long ' 储存进程句柄
' 取得进程标识符
GetWindowThreadProcessId hwnd1, pid
' 使用进程标识符取得进程句柄
pHandle = OpenProcess(PROCESS_VM_READ, False, pid)
' 在内存地址中读取数据
If pHandle = 0 Then
MsgBox "no open"
End If
ReadProcessMemory pHandle, lpADDress, VarPtr(dc), 4, 0&
' 关闭进程句柄
CloseHandle hProcess
End Function
...全文
156 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2007-04-15
  • 打赏
  • 举报
回复
ReadProcessMemory pHandle, lpADDress, byval VarPtr(dc), 4, 0&

还不行的话,检查一下你的api声明
greentest 2007-04-15
  • 打赏
  • 举报
回复
谢谢,问题解决,非常感谢,这个问题困扰了我几天了,试了n种方法,这个api调用参数真是麻烦,给分
kmlxk0 2007-04-15
  • 打赏
  • 举报
回复
有可能要修改为

ReadProcessMemory pHandle,BYVAL lpADDress, BYVAL VarPtr(dc), 4, 0&

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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