本帖最后由 a154038274 于 2019-7-6 11:17 编辑
一个小程序 能ping ip和域名 能查看外网和内网ip 能查看域名解析ip 能记录你上一次使用记录 能隐藏窗口 用热键唤出 热键 f11 谢谢论坛里的源码完成了ping方面不用模块的调用 窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 热键句柄 | | | 循环 | 逻辑型 | | 重复启动 | | | 线程句柄 | | | ip | 正则表达式 | | 域名 | 正则表达式 | | 文件号 | | | 外网去重 | 文本型 | | 内网去重 | 文本型 | |
ip. 创建 (“\d+\.\d+\.\d+\.\d+”, 假)域名. 创建 (“^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*$”, 假)热键句柄 = 注册热键 (_启动窗口. 取窗口句柄 (), 标签1. 取窗口句柄 (), 0, #F11键 )如果真 (热键句柄 = 0 )信息框 (“注册热键失败!” + #换行符 + “不能隐藏程序。”, 0, “信息框”, )编辑框1.内容 = 读配置项 (取运行目录 () + “\ip.ini”, “ip”, “ip”, “127.0.0.1”)编辑框2.内容 = 读配置项 (取运行目录 () + “\ip.ini”, “提醒内容”, “提醒内容”, “欢迎使用!”)气球提示框1. 关联组件 (标签4, “当前测试IP或域名指向IP”, -1, , , 标签4.宽度, 标签4.高度 )启动线程 (&_按钮2_被单击, , )启动线程 (&子程序3, , )启动线程 (&子程序4, , )如果真 (文件是否存在 (取运行目录 () + “\日志.txt”) = 假)写到文件 (取运行目录 () + “\日志.txt”, 到字节集 (“”)) 置文件属性 (取运行目录 () + “\日志.txt”, #隐藏文件 )文件号 = 打开文件 (取运行目录 () + “\日志.txt”, , )移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + “运行程序” + #换行符 )|
_标签1_反馈事件 | 整数型 | | |
参数一 | 整数型 | | | | 参数二 | 整数型 | | | | 如果真 (参数一 = 热键句柄 )如果 (_启动窗口.可视 = 真)_启动窗口.可视 = 假 _启动窗口.可视 = 真 如果真 (循环 = 真)循环 = 假 返回 ()如果真 (重复启动 = 1 )强制结束线程 (线程句柄 )如果真 (ip. 匹配 (编辑框1.内容 ) = 真 或 域名. 匹配 (编辑框1.内容 ) = 真)启动线程 (&子程序1, , )返回 ()信息框 (“你输入的IP或域名有误,请重新输入。”, 0, “提示框”, )移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + “IP或域名输入错误!” + #换行符 )循环 = 真 按钮2.标题 = “停止”强制结束线程 (线程句柄 )循环判断首 ()参数 = 系统_通信测试 (编辑框1.内容, 2000 )如果真 (参数 ≥ 0 且 参数 < 50 )标签1.文本颜色 = #嫩绿 如果真 (参数 ≥ 50 且 参数 ≤ 200 )标签1.文本颜色 = #蓝色 如果真 (参数 = -1 或 参数 > 200 )标签1.文本颜色 = #红色 标签1.标题 = “ping ” + 到文本 (参数) + “ ms”如果真 (参数 = -1 )标签1.标题 = “通讯失败”如果 (信息框 (“与服务器通讯失败,请” + #换行符 + “检查你的网络和主机状态!” + #换行符 + 编辑框2.内容, 5, “提示框”, ) = #重试钮 )如果真 (去重 ≠ “通讯失败!”)移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + 编辑框1.内容 + “ ” + “通讯失败!” + #换行符 )去重 = “通讯失败!”到循环尾 ()如果真 (重复启动 = 0 )启动线程 (&子程序2, , 线程句柄 )跳出循环 ()如果真 (去重 ≠ 到文本 (参数 )) 移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + 编辑框1.内容 + “ ” + 到文本 (参数 ) + “ms” + #换行符 )去重 = 到文本 (参数)延时 (1000 )标签4.标题 = IP1 循环判断尾 (循环 )按钮2.标题 = “开始”重复启动 = 1 延时 (1800000 )_按钮2_被单击 ()重复启动 = 0 变量名 | 类 型 | 静态 | 数组 | 备 注 | 本机ip | 文本型 | | 0 | 循环次数 | 整数型 | | |
本机ip = 取本机IP ()标签3.标题 = “”计次循环首 (取数组成员数 (本机ip ), 循环次数 )如果真 (到整数 (取末尾 (本机ip [循环次数 ])) = 1 )到循环尾 ()标签3.标题 = 本机ip [循环次数] + #换行符 + 标签3.标题计次循环尾 ()如果真 (内网去重 ≠ 子文本替换 (标签3.标题, #换行符, “ ”, , , 真)) 移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + “本机IP地址” + 子文本替换 (标签3.标题, #换行符, “ ”, , , 真) + #换行符 )内网去重 = 子文本替换 (标签3.标题, #换行符, “ ”, , , 真)如果真 (取文本长度 (标签3.标题 ) < 15 )标签3.标题 = “获取IP失败” + #换行符 + “是否连接网线!”如果真 (内网去重 ≠ “获取IP失败”)移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + “获取IP失败” + #换行符 )内网去重 = “获取IP失败”延时 (10000)启动线程 (&子程序4, , )外网ip = 截取文本 (HTTP读文件 (“http://2019.ip138.com/ic.asp”), “[”, 2, 真, “]”, 1 )标签2.标题 = “”如果 (ip. 匹配 (外网ip ) = 真)标签2.标题 = 外网ip 如果真 (外网去重 ≠ 子文本替换 (外网ip, #换行符, “ ”, , , 真)) 移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + “外网IP地址” + “ ” + 外网ip + #换行符 )外网去重 = 外网ip标签2.标题 = “获取外网IP失败” + #换行符 + “确定是否联网!”如果真 (外网去重 ≠ “获取外网IP失败”)移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + “获取外网IP失败” + #换行符 )外网去重 = “获取外网IP失败”延时 (10000)启动线程 (&子程序3, , )写配置项 (取运行目录 () + “\ip.ini”, “ip”, “ip”, 编辑框1.内容 )写配置项 (取运行目录 () + “\ip.ini”, “提醒内容”, “提醒内容”, 编辑框2.内容 )置文件属性 (取运行目录 () + “\ip.ini”, #隐藏文件 )移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + “保存配置文件。” + #换行符 )如果真 (循环 = 真)循环 = 假 |
_编辑框1_按下某键 | 逻辑型 | | |
键代码 | 整数型 | | | | 功能键状态 | 整数型 | | | | 如果真 (循环 = 假)如果真 (键代码 = #回车键 )_按钮2_被单击 ()如果真 (热键句柄 = 0 )保存配置 ()移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + “退出程序。” + #换行符 )关闭文件 (文件号 )返回 (真)如果 (信息框 (“确定是否关闭!!” + #换行符 + “'是'关闭,'否'隐藏。”, 4, “信息框”, ) = #是钮 )保存配置 ()移到文件首 (文件号 )插入文本 (文件号, 取主机名 () + “ ” + 到文本 (取现行时间 ()) + “ ” + “退出程序。” + #换行符 )关闭文件 (文件号 )返回 (真)如果真 (重复启动 = 0 )启动线程 (&子程序2, , 线程句柄 )执行子程序 (&_标签1_反馈事件, )如果真 (热键句柄 = 0 )返回 (真)返回 (假)|
RegEx | shellEx | iext5 | EThread | sock | internet |
|