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

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

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

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

应该怎们弄才行?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 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
游客
登录 | 注册 方可回帖
返回
//