|
.版本 2
.程序集 程序接口
.子程序 读内存, 字节集, , 失败返回空字节集
.参数 窗口标题, 文本型
.参数 起始读取位置, 整数型, , -2147483648 至 2147483647
.参数 读取字节数, 整数型, , 不小于1
.局部变量 Title, 整数型
.局部变量 Buffer, 字节集
.局部变量 ID, 字节集
.局部变量 handle, 整数型
.局部变量 Bool, 整数型
.如果真 (起始读取位置 < -2147483648 或 读取字节数 < 0 或 起始读取位置 > 2147483647)
返回 (取空白字节集 (0))
.如果真结束
Title = 查找特定窗口 (0, 窗口标题)
.如果真 (Title = 0)
返回 (取空白字节集 (0))
.如果真结束
ID = 取空白字节集 (4)
取进程ID (Title, ID)
handle = 打开进程 (2035711, 假, 取字节集数据 (ID, 3, ))
Buffer = 取空白字节集 (读取字节数)
Bool = 读内存数据 (handle, 起始读取位置, Buffer, 读取字节数, 0)
关闭进程 (handle)
.如果真 (Bool = 0)
返回 (取空白字节集 (0))
.如果真结束
返回 (Buffer)
.子程序 写内存, 逻辑型, , 失败返回假
.参数 窗口标题, 文本型
.参数 起始写出位置, 整数型, , 4194304 至 2147483647 或 -1 至 -2147483648
.参数 写出内容, 字节集
.局部变量 Title, 整数型
.局部变量 Bool, 整数型
.局部变量 ID, 字节集
.局部变量 handle, 整数型
.如果真 (起始写出位置 < 4194304 且 起始写出位置 ≥ 0 或 起始写出位置 > 2147483647 或 起始写出位置 < -2147483648)
返回 (假)
.如果真结束
Title = 查找特定窗口 (0, 窗口标题)
.如果真 (Title = 0)
返回 (假)
.如果真结束
ID = 取空白字节集 (4)
取进程ID (Title, ID)
handle = 打开进程 (2035711, 假, 取字节集数据 (ID, 3, ))
Bool = 读内存字符串 (handle, 起始写出位置, 写出内容, 取字节集长度 (写出内容), 0)
关闭进程 (handle)
.如果真 (Bool = 0)
返回 (假)
.如果真结束
返回 (真)
.子程序 字节到十六进制文本, 文本型
.参数 欲转换字节, 字节型
.局部变量 temp, 字节型, , "2"
temp [1] = 欲转换字节 \ 16
temp [2] = 欲转换字节 - temp [1] × 16
.如果 (temp [2] < 10)
temp [2] = temp [2] + 48
.否则
temp [2] = temp [2] + 55
.如果结束
.如果 (temp [1] < 10)
temp [1] = temp [1] + 48
.否则
temp [1] = temp [1] + 55
.如果结束
返回 (取字节集数据 (到字节集 (temp [1]), 10) + 取字节集数据 (到字节集 (temp [2]), 10))
.子程序 十六进制文本到整数, 整数型
.参数 欲转换十六进制文本, 文本型, , 长度不得大于八位,也不得有非法字符,否则返回-1
.局部变量 大写文本, 文本型
.局部变量 文本长度, 整数型
.局部变量 循环次数, 整数型
.局部变量 代码, 整数型
.局部变量 n, 整数型
文本长度 = 取文本长度 (欲转换十六进制文本)
.如果真 (文本长度 > 8)
返回 (-1)
.如果真结束
大写文本 = 到大写 (欲转换十六进制文本)
n = 0
.计次循环首 (文本长度, 循环次数)
代码 = 取代码 (大写文本, 文本长度 - 循环次数 + 1)
.如果 (代码 ≥ 65 且 代码 ≤ 70)
n = n + (代码 - 55) × 求次方 (16, 循环次数 - 1)
.否则
.如果 (代码 ≥ 48 且 代码 ≤ 57)
n = n + (代码 - 48) × 求次方 (16, 循环次数 - 1)
.否则
返回 (-1)
.如果结束
.如果结束
.计次循环尾 ()
返回 (n) |
评分
-
查看全部评分
|