.版本 2
.支持库 spec
.支持库 iext
.程序集 窗口程序集_启动窗口
.程序集变量 窗口句柄, 整数型
.子程序 __启动窗口_创建完毕
' 消息功能介绍
' WM_USER = 1024
' SB_GETTEXTLENGTHA = (WM_USER+3) '获取文本长度
' SB_GETPARTS = (WM_USER+6) '获取分栏数量
' SB_SETTEXTA = 1025 '获取状态栏文本到缓冲区
' SB_GETTEXTA = 1026 '从缓冲区设置状态栏文本
' MAX_PATH = 260
' MEM_COMMIT = 4096
.子程序 窗口_取句柄, 整数型, , 本子程序采用【精易编程助手】生成,成功返回窗口句柄,失败返回0
.参数 参数_父窗口句柄, 整数型, 可空, 如果是取顶级的窗口句柄请留空
.参数 参数_子窗口句柄, 整数型, 可空, 如果是取顶级的窗口句柄请留空
.参数 参数_窗口类名, 文本型, 可空, 窗口的类名
.参数 参数_窗口标题, 文本型, 可空, 窗口听标题
返回 (_查找子窗口 (参数_父窗口句柄, 参数_子窗口句柄, 参数_窗口类名, 参数_窗口标题))
.子程序 功能_取句柄, 整数型, , 本子程序采用【精易编程助手】生成,成功返回窗口句柄,失败返回0
.局部变量 局_句柄, 整数型
局_句柄 = 窗口_取句柄 (, , “WTWindow”, “Windows消息获取状态栏”)
窗口句柄 = 局_句柄
.如果真 (局_句柄 = 0)
返回 (0)
.如果真结束
局_句柄 = 窗口_取句柄 (局_句柄, , “msctls_statusbar32”, )
.如果真 (局_句柄 = 0)
返回 (0)
.如果真结束
返回 (局_句柄)
.子程序 _按钮1_被单击
.局部变量 Pid, 整数型
.局部变量 进程句柄, 整数型
.局部变量 地址, 整数型
.局部变量 状态栏栏目数, 整数型
.局部变量 状态条句柄, 整数型
.局部变量 地址A, 文本型
.局部变量 计数, 整数型
状态条句柄 = 功能_取句柄 ()
进程句柄 = 进程_打开 (窗口句柄) ' 读写内容用
调试输出 (“进程句柄:” + 到文本 (进程句柄))
地址 = VirtualAllocEx (进程句柄, 0, 260, 4096, 4) ' 申请内存 参1:句柄 参2:NULL=0 参3:申请大小MAX_PATH 参4: MEM_RESERVE 或 MEM_COMMIT 参5:设置申请内存状态 4为读写
调试输出 (“申请地址:” + 到文本 (地址))
状态栏栏目数 = SendMessageA (状态条句柄, 1030, 0, 0) ' 参2:SB_GETPARTS
调试输出 (“状态栏栏目数:” + 到文本 (状态栏栏目数))
.计次循环首 (状态栏栏目数, 计数)
调试输出 (SendMessageA (状态条句柄, 1026, 计数 - 1, 地址)) ' 参2:SB_GETTEXTA 参3:状态栏位置 从0开始 参4:申请内存地址
地址A = 取空白文本 (255)
ReadProcessMemory_text (进程句柄, 地址, 地址A, 255, 0) ' 读内存 参3需要传址
调试输出 (地址A)
状态条1.置文本 (计数 - 1, 地址A)
.计次循环尾 ()
WriteProcessMemory_text (进程句柄, 地址, 编辑框1.内容, 255, 0) ' 写到申请内存
SendMessageA (状态条句柄, 1025, 4, 地址) ' 参2:SB_SETTEXTA 参3:状态栏位置 参4:申请的内存地址
VirtualFreeEx (进程句柄, 地址, 0, 32768) ' 释放
进程_关闭 (进程句柄)