窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 数组 | 备 注 |
热键句柄 | | |
循环 | 逻辑型 | |
重复启动 | | |
线程句柄 | | |
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 |