|
发表于 2025-7-23 03:37:29
|
显示全部楼层
河北省秦皇岛市
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 进程句柄 | 整数型 | | 通达信进程ID | 整数型 | | Viewthemjz | 整数型 | | 股票代码 | 文本型 | | |
打开进程 | 整数型 | | |
kernel32.dll | |
OpenProcess | |
访问权限 | 整数型 | | | 继承句柄 | 逻辑型 | | | 进程ID | 整数型 | | |
|
关闭句柄 | 逻辑型 | | |
kernel32.dll | |
CloseHandle | |
对象句柄 | 整数型 | | |
|
读内存整数 | 逻辑型 | | |
kernel32.dll | |
ReadProcessMemory | |
进程句柄 | 整数型 | | | 内存地址 | 整数型 | | | 缓冲区 | 整数型 | | | 数据长度 | 整数型 | | | 实际读取长度 | 整数型 | | |
|
读内存字节集 | 逻辑型 | | |
kernel32.dll | |
ReadProcessMemory | |
进程句柄 | 整数型 | | | 内存地址 | 整数型 | | | 缓冲区 | 字节集 | | | 数据长度 | 整数型 | | | 实际读取长度 | 整数型 | | |
时钟1.时钟周期 = 1000 .局部变量 进程列表, 文本型, , "0" .局部变量 i, 整数型 .局部变量 进程信息, 进程信息结构 进程列表 = 进程_取列表 () 计次循环首 (取数组成员数 (进程列表 ), i ) 进程信息 = 进程_取信息 (进程列表 [i ]) 如果 (进程信息.进程名 = "tdxw.exe" ) 返回 (进程信息.进程ID )  计次循环尾 ()返回 (0 ).局部变量 模块列表, 文本型, , "0" .局部变量 i, 整数型 .局部变量 模块信息, 模块信息结构 模块列表 = 进程_取模块列表 (目标进程ID ) 计次循环首 (取数组成员数 (模块列表 ), i ) 模块信息 = 进程_取模块信息 (目标进程ID, 模块列表 [i ]) 如果 (模块信息.模块名 = 模块名 ) 返回 (模块信息.jz )  计次循环尾 ()返回 (0 ).局部变量 指针地址, 整数型 .局部变量 实际读取, 整数型 .局部变量 代码字节集, 字节集 .局部变量 临时代码, 文本型 如果 (读内存整数 (进程句柄, Viewthemjz + 偏移量, 指针地址, 4, 实际读取 ) = 假) 返回 ("" ) 代码字节集. 取空白字节集 (6 ) 如果 (读内存字节集 (进程句柄, 指针地址, 代码字节集, 6, 实际读取 ) = 假) 返回 ("" ) 临时代码 = 到文本 (代码字节集 ) 临时代码 = 子文本替换 (临时代码, #空字符, , , , 真)返回 (临时代码 ).局部变量 尝试偏移1, 整数型 .局部变量 尝试偏移2, 整数型 尝试偏移1 = 0x1585B4 尝试偏移2 = 0x000366D0 通达信进程ID = 取通达信进程ID () 如果 (通达信进程ID = 0 ) 标签1.标题 = " 未找到通达信进程 (tdxw.exe )" 返回 () 进程句柄 = 打开进程 (0x1F0FFF, 假, 通达信进程ID ) 如果 (进程句柄 = 0 ) 标签1.标题 = " 无法打开通达信进程 (需管理员权限 )" 返回 () Viewthemjz = 取模块jz (通达信进程ID, "Viewthem.dll" ) 如果 (Viewthemjz = 0 ) 标签1.标题 = "未找到Viewthem.dll模块" 关闭句柄 (进程句柄 ) 返回 () 股票代码 = 读取股票代码 (尝试偏移1 ) 如果 (股票代码 = "" 或 取文本长度 (股票代码 ) < 6 )  股票代码 = 读取股票代码 (尝试偏移2 ) 如果 (股票代码 ≠ "" 且 取文本长度 (股票代码 ) = 6 ) 标签1.标题 = "当前股票代码: " + 股票代码   标签1.标题 = "未读取到有效股票代码" 关闭句柄 (进程句柄 )_时钟1_周期事件 ()
|
|