游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3674|回复: 11

跪求解答内存数据问题(新兵报道)

[复制链接]

64

主题

405

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
QQ
发表于 2004-8-17 18:30:00 | 显示全部楼层 |阅读模式
就是!我用ReadProcessMemory
得到的数据,我定义的是Long
如何让它变成文本的形式显示?
例如
得到的-14418它就是汉字的“钱“!可是我要如何才可以
把他从-14418变成汉字呢?
谢谢~~~~~~~~~

0

主题

22

帖子

22

积分

注册会员

Rank: 2

积分
22
发表于 2004-8-18 10:35:00 | 显示全部楼层

Re:跪求解答内存数据问题(新兵报道)

long l = -14418;
char str[256] = "";
strcpy(str, (char*)(&l));
printf("%s\n", str);

64

主题

405

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
QQ
 楼主| 发表于 2004-8-18 11:35:00 | 显示全部楼层

Re:跪求解答内存数据问题(新兵报道)

郁闷是c
我看看!

64

主题

405

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
QQ
 楼主| 发表于 2004-8-18 11:36:00 | 显示全部楼层

Re:跪求解答内存数据问题(新兵报道)

呵呵!讲解一下
strcpy(str, (char*)(&l));
这一句谢谢!
为什么是(char*)(&l)):

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2004-8-19 14:58:00 | 显示全部楼层

Re:跪求解答内存数据问题(新兵报道)

dim a as long
a=-14418  '等下,先说句,这是不行的,负数是怎么回事呀

dim b(3) as byte

b(0)=a mod 256
b(1)=a mod 65536 \256
b(2)=a\65536 mod  256
b(3)=a\(256*256*256)

dim s as string
s=b

ko
我没算写错别怪我

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2004-8-19 14:59:00 | 显示全部楼层

Re:跪求解答内存数据问题(新兵报道)

楼上用c强制把long中的数据考进string里的说

64

主题

405

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
QQ
 楼主| 发表于 2004-8-20 20:24:00 | 显示全部楼层

Re:跪求解答内存数据问题(新兵报道)

呵呵
b(3)=a\(256*256*256)
溢出啦!!!

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2004-8-21 17:22:00 | 显示全部楼层

Re:跪求解答内存数据问题(新兵报道)

是变量类型的问题!自己做个转换好了

64

主题

405

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
QQ
 楼主| 发表于 2004-8-23 17:45:00 | 显示全部楼层

Re:跪求解答内存数据问题(新兵报道)

好好~

10

主题

129

帖子

151

积分

注册会员

Rank: 2

积分
151
QQ
发表于 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


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-18 08:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表