|
发表于 2004-8-29 12:39:00
|
显示全部楼层
Re:跪求解答内存数据问题(新兵报道)
water3用的是VB吧,这是我取得地图的一段程序,我也是没解决动态内存的问题,希望和你探讨.
读文本字段要定义STRING类型的
Dim str As String * 20 ' 存储显示文本
ReadProcessMemory pHandle, &H1CEC008, str, 20, 0&
------------------------------------------------------------------------------------------------
'下面的函数用于取得地图名称
Private Sub getMap()
On Error Resume Next
' 声明变量
Dim hwnd As Long ' 储存 FindWindow 函数返回的句柄
Dim pid As Long ' 储存进程标识符
Dim pHandle As Long ' 储存进程句柄
Dim str As String * 20 ' 存储显示文本
' 取得目标窗口的句柄
hwnd = FindWindow(vbNullString, " 游戏 ")
If (hwnd = 0) Then
Exit Sub
End If
' 取得进程标识符
GetWindowThreadProcessId hwnd, pid
' 取得进程句柄
pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (pHandle = 0) Then Exit Sub
' 读取内存数据 &H80D0509A改成你跟踪到的地址
ReadProcessMemory pHandle, &H1CEC008, str, 20, 0&
' 在文本框显示
txtDisplay = str
' 关闭进程句柄
CloseHandle pHandle
|
|