.版本 2
.支持库 eAPI
.支持库 eNetIntercept
.程序集变量 a, 网络服务安装
.程序集变量 b, 系统信息
.程序集变量 白名单, 文本型
.子程序 子程序1
.子程序 __启动窗口_创建完毕
_时钟1_周期事件 ()
a.卸载 ()
.如果真 (a.是否已安装 () = 假)
取系统信息 (b)
写到文件 (b.系统目录 + “\ESPI11.dll”, #服务文件)
a.安装 (b.系统目录 + “\ESPI11.dll”)
.如果真结束
.如果真 (网截1.打开 () = 假)
信息框 (“获取失败”, 0, )
.如果真结束
网截1.打开 ()
.子程序 _网截1_调创建套接字, 整数型
.参数 调用者信息, 调用者信息, 参考
.参数 地址族, 整数型, 参考
.参数 格式, 整数型, 参考
.参数 协议, 整数型, 参考
.局部变量 N, 文本型
N = 到大写 (取文本右边 (调用者信息.取进程名 (), 取文本长度 (调用者信息.取进程名 ()) - 倒找文本 (调用者信息.取进程名 (), “\”, , 假)))
.如果真 (到大写 (白名单) = 子文本替换 (到大写 (白名单), N, “”, , , 真))
编辑框1.加入文本 (到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())) + “:” + 到文本 (取秒 (取现行时间 ())) + “[” + N + “ ]” + #换行符)
返回 (#拦截操作.关闭连接)
.如果真结束
.子程序 __启动窗口_将被销毁
网截1.关闭 ()
.子程序 _时钟1_周期事件
进程 = 取系统进程列表 ()
进程名1 = 进程名
.计次循环首 (取数组成员数 (进程), x)
进程名 = “”
.如果 (#系统进程 = 子文本替换 (#系统进程, 进程 [x].进程名称, “”, , , 真))
进程名 = 进程名 + 进程 [x].进程名称 + #换行符
.否则
.如果结束
.计次循环尾 ()
.如果 (进程名1 ≠ 进程名)
列表框1.清空 ()
.计次循环首 (取数组成员数 (进程), x)
.如果 (#系统进程 = 子文本替换 (#系统进程, 进程 [x].进程名称, “”, , , 真))
列表框1.加入项目 (进程 [x].进程名称, )
.否则
.如果结束
.计次循环尾 ()
.否则
.如果结束
.子程序 _按钮1_被单击
_时钟1_周期事件 ()
.子程序 _按钮2_被单击
.如果 (列表框1.现行选中项 ≠ -1 且 白名单 = 子文本替换 (白名单, 列表框1.取项目文本 (列表框1.现行选中项), “”, , , 真))
列表框2.加入项目 (列表框1.取项目文本 (列表框1.现行选中项), )
白名单 = 列表框1.取项目文本 (列表框1.现行选中项) + #换行符
.否则
.如果结束
.子程序 _按钮3_被单击
.如果 (列表框2.现行选中项 ≠ -1)
白名单 = 子文本替换 (白名单, 列表框2.取项目文本 (列表框2.现行选中项), “”, , , 真)
列表框2.删除项目 (列表框2.现行选中项)
.否则
.如果结束
.子程序 _按钮4_被单击
列表框2.清空 ()
白名单 = “”
.子程序 _按钮5_被单击
a.卸载 ()
.如果真 (a.是否已安装 () = 假)
取系统信息 (b)
写到文件 (b.系统目录 + “\ESPI11.dll”, #服务文件)
a.安装 (b.系统目录 + “\ESPI11.dll”)
.如果真结束
.如果真 (网截1.打开 () = 假)
信息框 (“获取失败”, 0, )
.如果真结束
网截1.打开 ()
.子程序 _按钮6_被单击
写到文件 (取运行目录 () + “\测试.exe”, #测试)
运行 (取运行目录 () + “\测试.exe”, 假, )
删除文件 (取运行目录 () + “\测试.exe”)
.子程序 _按钮7_被单击
编辑框1.内容 = “”