[Visual Basic] 纯文本查看 复制代码
.版本 2
.支持库 EThread
.支持库 sock
.支持库 iext
.程序集 窗口程序集_启动窗口
.子程序 _超级按钮6_被单击
运行 (“Explorer.exe https://my.zerotier.com/network”, 假, )
.子程序 _编辑框6_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.如果真 (键代码 = #回车键)
_超级按钮3_被单击 ()
.如果真结束
.子程序 _编辑框1_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.如果真 (键代码 = #回车键)
_超级按钮7_被单击 ()
.如果真结束
.子程序 __启动窗口_创建完毕
时钟1.时钟周期 = 5000
启动线程 (&_时钟1_周期事件, , )
载入 (_启动窗口, , 真)
.子程序 _时钟1_周期事件
.局部变量 索引, 整数型
.局部变量 本机IP数组, 文本型, , "1"
本机IP数组 = 取本机IP ()
透明标签2.标题 = “”
.计次循环首 (取数组成员数 (本机IP数组), 索引)
透明标签2.标题 = 透明标签2.标题 + 本机IP数组 [索引] + “ ”
.计次循环尾 ()
.子程序 _透明标签11_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
信息框 (“本程序免费” + #换行符 + #换行符 + “by:姬御风” + #换行符 + “QQ:602713767” + #换行符 + “需要帮助请加QQ”, 0, “关于”, )
.子程序 _超级按钮4_被单击
.如果 (文件是否存在 (取运行目录 () + “\” + 组合框1.内容 + “.ini”) ≠ 真)
写到文件 (取运行目录 () + “\” + 组合框1.内容 + “.ini”, 到字节集 (编辑框6.内容))
.否则
信息框 (“有重复网络名称!”, 0, “失败”, )
.如果结束
.子程序 _组合框2_将弹出列表
.局部变量 文件名称, 文本型
.局部变量 文件名部分, 文本型, , "1"
.局部变量 项目数量, 整数型
项目数量 = 组合框1.取项目数 ()
.计次循环首 (项目数量, )
组合框1.删除项目 (0)
.计次循环尾 ()
文件名称 = 寻找文件 (“*.ini”, )
.循环判断首 ()
.如果 (文件名称 ≠ “”)
文件名部分 = 分割文本 (文件名称, “\”, )
组合框1.加入项目 (取文本左边 (文件名部分 [取数组成员数 (文件名部分)], 取文本长度 (文件名部分 [取数组成员数 (文件名部分)]) - 4), )
文件名称 = 寻找文件 (, )
.否则
跳出循环 ()
.如果结束
.循环判断尾 (文件名称 ≠ “”)
.子程序 _组合框2_列表项被选择
.局部变量 配置文件, 整数型
.局部变量 文件号, 整数型
配置文件 = 打开文件 (取运行目录 () + “\” + 组合框1.内容 + “.ini”, , )
编辑框6.内容 = 读入文本 (配置文件, )
关闭文件 (文件号)
关闭文件 (配置文件)
.子程序 _透明标签2_鼠标右键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果 (置剪辑板文本 (透明标签2.标题) = 真)
信息框 (“复制成功”, 0, “提示”, )
.否则
.如果结束
.子程序 _超级按钮5_被单击
.如果 (文件是否存在 (组合框1.内容 + “.ini”) = 真)
删除文件 (组合框1.内容 + “.ini”)
.如果 (文件是否存在 (组合框1.内容 + “.ini”) = 真)
信息框 (“删除失败”, 0, “提示”, )
运行 (“explorer.exe ” + 取运行目录 (), 假, )
.否则
信息框 (“【” + 组合框1.内容 + “】” + “已删除!”, 0, “删除成功”, )
组合框1.内容 = “”
编辑框6.内容 = “”
.如果结束
.否则
信息框 (“文件不存在”, 0, “提示”, )
.如果结束
.子程序 _超级按钮1_被单击
.如果 (文件是否存在 (“C:\ProgramData\ZeroTier\One\zerotier-one_x64.exe”) = 假)
写到文件 (取当前目录 () + “\ZeroTier.msi”, #图片1)
透明标签1.标题 = “正在安装,请稍候...”
运行 (“msiexec /i ” + 编辑框7.内容 + 取当前目录 () + “\ZeroTier.msi” + 编辑框7.内容 + “ /qn”, 真, )
透明标签1.标题 = “虚拟网络服务”
删除文件 (“ZeroTier.msi”)
.否则
.如果结束
.子程序 _超级按钮2_被单击
.如果 (文件是否存在 (“C:\ProgramData\ZeroTier\One\zerotier-one_x64.exe”) = 真)
写到文件 (取当前目录 () + “\ZeroTier.msi”, #图片1)
透明标签1.标题 = “正在卸载,请稍候...”
运行 (“msiexec /x ” + 编辑框7.内容 + 取当前目录 () + “\ZeroTier.msi” + 编辑框7.内容 + “ /qn”, 真, 0)
透明标签1.标题 = “虚拟网络服务”
删除文件 (“ZeroTier.msi”)
.否则
.如果结束
.子程序 _超级按钮7_被单击
.如果 (文件是否存在 (取运行目录 () + “\tvnviewer.exe”) = 假)
写到文件 (取运行目录 () + “\tvnviewer.exe”, #图片2)
运行 (“tvnviewer.exe ” + 编辑框1.内容 + “::5900”, 假, )
.否则
运行 (“tvnviewer.exe ” + 编辑框1.内容 + “::5900”, 假, )
.如果结束
.子程序 _超级按钮3_被单击
运行 (“C:\ProgramData\ZeroTier\One\zerotier-one_x64.exe -q join ” + 编辑框6.内容, 假, )
.子程序 _透明标签2_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果 (置剪辑板文本 (透明标签2.标题) = 真)
信息框 (“复制成功”, 0, “提示”, )
.否则
.如果结束
.子程序 _超级按钮8_被单击
.如果 (文件是否存在 (取运行目录 () + “\tvnserver.exe”) = 假)
写到文件 (取运行目录 () + “\TightVNC.reg”, #图片4)
运行 (“reg import ” + 取当前目录 () + “\TightVNC.reg”, 真, 0)
删除文件 (取运行目录 () + “\TightVNC.reg”)
写到文件 (取运行目录 () + “\tvnserver.exe”, #图片3)
运行 (“tvnserver.exe”, 假, )
.否则
运行 (“taskkill /f /im tvnserver.exe”, 真, 0)
写到文件 (取运行目录 () + “\TightVNC.reg”, #图片4)
运行 (“reg import ” + 取当前目录 () + “\TightVNC.reg”, 真, 0)
删除文件 (取运行目录 () + “\TightVNC.reg”)
运行 (“tvnserver.exe”, 假, )
.如果结束
置剪辑板文本 (透明标签2.标题)
信息框 (“IP地址已经复制” + #换行符 + “发送给对方才能连接”, 0, “提示”, )
.子程序 _超级按钮9_被单击
运行 (“taskkill /f /im tvnserver.exe”, 真, 0)
运行 (“taskkill /f /im tvnviewer.exe”, 真, 0)
删除文件 (取运行目录 () + “\tvnserver.exe”)
删除文件 (取运行目录 () + “\tvnviewer.exe”)
销毁 ()
.子程序 _超级按钮10_被单击
运行 (“C:\ProgramData\ZeroTier\One\zerotier-one_x64.exe -q leave ” + 编辑框6.内容, 假, )
.子程序 _超级按钮11_被单击
运行 (“taskkill /f /im tvnserver.exe”, 真, 0)
删除 (取运行目录 () + “\tvnserver.exe”)
.子程序 _超级按钮12_被单击
_启动窗口.位置 = 2