|
ydm.ReadInt (句柄, “[[[011ECD30]+18]+a8]+1c0”, 0)
这是一条大漠插件里面读内存地址的命令.读不了长整数,但提示有办法读取,提示如下:
对于如何读取长整数类型(64位的整数),方法如下(这里只是提供思路,各个平台有各个平台的写法)
用两次ReadInt读取高低各32位 然后组合成64位整数. 比如
high = dm.ReadInt(hwnd,"10101014",0)
low = dm.ReadInt(hwnd,"10101010",0)
value_64 = ((INT64)(DWORD)high) << 32 + (DWORD)low
这里贴一段用vbs如何读取64位整数的代码.
// 64位整数 高32位是低地址 低32位是高地址
high = dm.ReadInt(hwnd,"10101014",0)
low = dm.ReadInt(hwnd,"10101010",0)
TracePrint ConvertToLongInt(high,low)
function ConvertToLongInt(high,low)
dim temp1,temp2,temp,low_length,i
temp1 = cstr(hex(high))
temp2 = cstr(hex(low))
low_length = len(temp2)
low_length = 8 – low_length
for i = 1 to low_length
temp2 = "0"&temp2
next
temp = "&H" & temp1 & temp2
ConvertToLongInt = cdbl(temp)
end Function
这是VB读取的代码,,我现在用易语言要如何写这代码呢?
求高手解答,谢谢.
|
|