借鉴了网络上的方法,将方法改成了程序,使用起来更佳简便。
上电脑课告别被控制的困扰。
调用了Sp EC 请自行下载模块,附件仅有源码。
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | pswd | 文本型 | | | rcd | 文本型 | | | 返回 () 如果真 (进程是否存在 (“StudentMain.exe”) = 假) 编辑框1.内容 = “学生端未启动” 编辑框2.内容 = “学生端未启动” 编辑框1.禁止 = 真  编辑框2.禁止 = 真  按钮1.禁止 = 真  按钮2.禁止 = 真  标签3.标题 = “未检测到学生端,请重启本软件继续尝试。” 标签3.文本颜色 = #红色 返回 () pswd = 取文本注册项 (4, “SOFTWARE\TopDomain\e-Learning Class Standard\1.00\UninstallPasswd”, )rcd = 取文本中间 (pswd, 7, 取文本长度 (pswd ) - 6 )编辑框1.内容 = rcd 信息框 (“复制成功”, 0, , ) 如果真 (编辑框2.内容 ≠ “”) 写注册项 (4, “SOFTWARE\TopDomain\e-Learning Class Standard\1.00\UninstallPasswd”, “Passwd” + 编辑框2.内容 ) 信息框 (“success!”, 0, , ) __启动窗口_创建完毕 () 置剪辑板文本 (编辑框1.内容 ) 如果真 (信息框 (“强制关闭的方法会被老师看见哦。 如果需要关闭,请复制密码后进入【设置】里面手动关闭!” + #换行符 + “如果想要继续强制关闭,请点击确定。”, 1, “确定要强制关闭吗?”, ) = #确认钮 ) pid = GetProcessPid (“StudentMain.exe”) 运行 (“taskkill /im studentmain.exe /f”, 假, ) 运行 (“ntsd /p ” + 到文本 (pid ), 假, ) 处理事件 () 结束进程 (取进程ID (“StudentMain.exe”)) 信息框 (“已执行强制关闭命令!”, 0, , ) 返回 (TerminateProcess (OpenProcess (1, 0, 进程ID ), 0 ) = 1 )变量名 | 类 型 | 静态 | 数组 | 备 注 | hSnapShot | 整数型 | | | End | 整数型 | | | buffer | PROCESSENTRY32 | | | pid | 整数型 | | |
pid = -1 hSnapShot = CreateToolhelp32Snapshot (2, 0 )buffer.dwSize = 296 End = Process32First2 (hSnapShot, buffer ) 判断循环首 (End ≠ 0 ) 如果真 (到小写 (到文本 (buffer.szExeFile )) = 到小写 (进程名 ))   pid = buffer.th32ProcessID  跳出循环 () End = Process32Next2 (hSnapShot, buffer) 判断循环尾 ()CloseHandle (hSnapShot )返回 (pid )
补充内容 (2018-12-1 23:51):
42L 编译出成品 |