回 帖 发 新 帖 刷新版面

主题:【求助】关于读取内存数据问题

程序1可用:
API:
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Function rMem(vAdd As Long, L As Integer) As Long
  Dim ret As Long
  Call ReadProcessMemory(hProcess, vAdd, ret, L, 0&)
  rMem = ret
End Function

窗口:
text1 = rMem(&H5CCDABC, 3)
上面能把地址5CCDABC的数显示在文本框里

*******************

程序2不可用:
API:
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long

窗口:
dim a as long
Call ReadProcessMemory(hProcess, &H5CCDABC, a, 8, 0&)
Text1.Text = Val("a")
这个则显示为0
为什么,该如何解决?

回复列表 (共3个回复)

沙发

在你的Text1.Text = Val("a")语句里,把变量a二边的引号删掉,即写成
Text1.Text = Val(a)
再试试!成功了别忘给分

板凳

已更正了!谢谢!

3 楼

收藏

我来回复

您尚未登录,请登录后再回复。点此登录或注册