首页
社区
课程
招聘
[求助]怎么用VB一次读取大量内存数据?
发表于: 2007-9-10 11:36 5778

[求助]怎么用VB一次读取大量内存数据?

2007-9-10 11:36
5778
我用 ReadProcessMemory 读取内存,接受数据的变量用的是long类型,一次只能读一个数据。

我想一次读大量数据,就把类型改成String,结果一运行程序直接自己关掉了。。。改成Byte数组也不行,也是程序直接关闭。。。或者弹出个系统错误的对话框:XXXX内存不能为“read”。。。

应该怎们弄才行?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
2
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal lpBuff As Long, ByVal nSize As Long, ByVal lpNumberOfBytesRead As Long) As Boolean
Private Sub Command1_Click()
  Dim by(2) As Byte
  Dim i, hProcessAs As Long
  Dim b As Boolean
  hProcess = GetCurrentProcess()
  b = ReadProcessMemory(hProcess, App.hInstance, VarPtr(by(0)), UBound(by), i)
  Text1.Text = Chr(by(0)) + Chr(by(1))
End Sub

如果你要读多个字节,只须将“by”变量数组改大一点即可。
2007-9-10 13:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
终于搞定了,多谢指点。。。
2007-9-10 13:43
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
ZwReadVirtualMemory
就算地址无效也不会访问违例
2007-9-10 20:17
0
游客
登录 | 注册 方可回帖
返回
//