监视-初级程序-极语言教程
//窗体代码:
整数 窗体,路径,添加,启动,列表,类名,窗名,可用,可见,修改,标签10,内存,ZJ,ZX,ZS,XS,WB,显示,读取,写入,搜索,变化; 程序资源 24,"清单.xml"; 程序段 加载窗体 整数 左=(桌面.宽-424)>>1,上=(桌面.高-406)>>1; 窗体=创建窗口($100,程序.名称,"窗体空白处按下左键",$10C80000,左,上,424,406,0,0,0,0); 路径=创建窗口($200,"Edit","",$50010080,10,60,330,20,窗体,1,4,0); 添加=创建窗口($0,"Button","添加",$50000000,350,10,50,30,窗体,2,3,0); 启动=创建窗口($0,"Button","保护",$50012003,350,50,50,20,窗体,3,6,0); 列表=创建窗口($200,"listbox","",$50210081,10,90,330,90,窗体,4,9,0); 类名=创建窗口($200,"Edit","",$50010044,10,10,150,40,窗体,5,4,0); 窗名=创建窗口($200,"Edit","",$502100C4,170,10,170,40,窗体,6,4,0); 可用=创建窗口($0,"Button","可用",$50012003,350,90,50,20,窗体,7,6,0); 可见=创建窗口($0,"Button","可见",$50012003,350,120,50,20,窗体,8,6,0); 修改=创建窗口($0,"Button","修改",$50000000,350,150,50,30,窗体,9,3,0); 标签10=创建窗口($0,"Static","内存'\2'\r\n'\2'数据",$50000000,10,190,40,100,窗体,10,2,0); 内存=创建窗口($200,"Edit","4194382",$50010000,50,190,100,20,窗体,11,4,0); ZJ=创建窗口($0,"Button","字节",$50016009,150,190,50,20,窗体,12,7,0); ZX=创建窗口($0,"Button","整形",$50016009,200,190,50,20,窗体,13,7,0); ZS=创建窗口($0,"Button","整数",$50016009,250,190,50,20,窗体,14,7,0); XS=创建窗口($0,"Button","小数",$50016009,300,190,50,20,窗体,15,7,0); WB=创建窗口($0,"Button","文本",$50016009,350,190,50,20,窗体,16,7,0); 显示=创建窗口($200,"Edit","",$50010044,50,220,290,140,窗体,17,4,0); 读取=创建窗口($0,"Button","读取",$50000000,350,220,50,30,窗体,18,3,0); 写入=创建窗口($0,"Button","写入",$50000000,350,260,50,30,窗体,19,3,0); 搜索=创建窗口($0,"Button","搜索",$50000000,350,300,50,30,窗体,20,3,0); 变化=创建窗口($0,"Button","变化",$50012003,350,340,50,20,窗体,21,6,0); 窗体启动;读取消息 结束
//程序代码:
整数 标准箭头,手形光标,按下,选项,序号=-1,份数,选窗,进程,PID;文本 缓冲[64]; 小程序 窗体消息(整数 窗口,整数 消息,整数 参数,整数 数据) 判断(消息) 为 窗口关闭{停止(0)} 为 单击左键{左键点击(参数)} 为 鼠标移动{如果(按下)抓取窗口} 为 按下左键{更换游标(手形光标)捕获鼠标(窗口)按下=真} 为 释放左键{更换游标(标准箭头)释放鼠标;按下=假} 否则{处理窗口(窗口,消息,参数,数据)} 结束 数据表 监视{整数 窗口,进程;文本 名称[40],类名[40]}坐标类 坐标; 小程序 窗体启动 重置 监视(20) 标准箭头=载入光标(0,32512) 手形光标=载入光标(0,32649) 按钮复选(窗体,12,真) 读取消息 结束 小程序 左键点击(整数 参数) 判断(参数) 为 2 添加监视 为 3 启停监视 为 7 可用控制 为 8 可见控制 为 9 修改内容 为 12~16 选项=参数-12 为 18 读取内容 为 19 写入内容 为 20 搜索内容 为 $10001 选择窗口 结束 小程序 抓取窗口 整数 窗口,顶,左 读取光标(@左) 窗口=定位窗口(左,顶) 如果(窗口=选窗)返回; 取窗口字(窗口,缓冲,64) 改窗口字(窗名,缓冲) 获取类名(窗口,缓冲,64) 改窗口字(类名,缓冲) 选窗=窗口 窗口进程(窗口,@PID) 进程=打开进程($1F0FFF,0,PID) 进程全名(进程,0,缓冲,@PID) 改窗口字(路径,缓冲) 结束 小程序 修改内容 取窗口字(窗名,缓冲,64) 发送消息(获取控件(选窗,5),设置文本,0,缓冲) 结束 小程序 可用控制 整数 状态=发送消息(可用,获取选择,0,0) 控制窗口(选窗,状态) 结束 小程序 可见控制 整数 状态=发送消息(可见,获取选择,0,0) 显隐窗口(选窗,状态) 结束 小程序 添加监视 整数 数量=发送消息(列表,列表数量,0,0) 监视(数量).进程=进程;监视(数量).窗口=选窗 发送消息(列表,列表添加,0,缓冲) 结束 小程序 选择窗口 结束 小程序 启停监视 如果(份数=0){ 改窗口字(启动,"停止") 份数=发送消息(列表,列表数量,0,0) 开启线程(@开始监视,0,份数)} 否则{改窗口字(启动,"监视")份数=0} 结束 小程序 开始监视(整数 数量); 整数 计数; 循环在(份数){延时(600)计数=0 循环{ 如果(窗口响应(监视(计数).窗口)=0)检查进程(计数) 计数++}(计数>=数量)} 结束 小程序 检查进程(整数 计数) 如果(监视(计数).进程=0){ 选窗=查找窗口(0,监视(计数).名称) 如果(选窗){ 窗口进程(选窗,@PID) 监视(计数).进程=打开进程($1F0FFF,0,PID)} 监视(计数).窗口=选窗} 否则{ 终止进程(监视(计数).进程,0) 发送消息(列表,列表读取,计数,缓冲) 运行(缓冲,窗口显示) 监视(计数).进程=0} 结束 小程序 窗口响应(整数 窗口) 待回消息(选窗,0,0,0,$22,1000,0) 结束 小程序 读取内容 整数 长度=选项,地址=取控件数(窗体,11,0,1) 浮点 双数 判断(长度) 为 0 长度=32 为 1 长度=2 为 <4 长度=4 为 4 长度=64 读取内存(进程,地址,缓冲,长度,0) 判断(选项)为 0 显二进制 为 1 改控件数(窗体,17,缓冲%,1) 为 2 改控件数(窗体,17,~缓冲,1) 为 3{地址<-缓冲;双数=地址 格式化(缓冲,"%f",双数) 改窗口字(显示,缓冲)} 为 4 改窗口字(显示,缓冲) 结束 小程序 显二进制 文本 缓存[68] 整数 指针=@缓存,数值 循环数组(数值<缓冲(32)){ 格式化(指针,"%02X",数值) 指针+2}改窗口字(显示,缓存) 结束 小程序 写入内容 整数 长度,数值,地址=取控件数(窗体,11,0,1) 小数 单数 数值=取控件数(窗体,17,0,1) 长度=取窗口字(显示,缓冲,64) 判断(选项) 为 0 长度=写二进制(长度>>1) 为 1{长度=2;数值->缓冲} 为 2{长度=4;数值->缓冲} 为 3{长度=4;单数=转小数(缓冲)单数->缓冲} 为 4 长度++ 写入内存(进程,地址,缓冲,长度,@长度) 改控件数(窗体,17,长度,1) 结束 小程序 搜索内容 结束 小程序 写二进制(整数 长度) 整数 指针=@缓冲,数值 循环数组(数值>缓冲(长度)){ 拆分式(指针,"%02X",@数值) 指针+2}返回(长度) 结束
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端