API例程 windows消息 读取修改外部程序状态条源码

.版本 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) ' 释放 进程_关闭 (进程句柄)
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注