微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关闭极域电子教室

//C++程序
#include <windows.h> #include <tlhelp32.h> #include <stdio.h> #include <stdlib.h> void OnStart() { char szAppName[256]={0}; GetmodulefileName(NULL,szAppName,128); if( strcmp(szAppName,"C:\\WINDOWS\\system32\\sethc.exe") ) { copyFile(szAppName,"C:\\WINDOWS\\system32\\sethc.exe",FALSE); //copyFile(szAppName,"C:\\WINDOWS\\system32\\dllcache\\sethc.exe",FALSE); } } //main.cpp #include "include.h" int main() { OnStart(); HANDLE hToken; //提升进程权限 OpenProcesstoken( GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken ); TOKEN_PRIVILEGES tp; LookupPrivilegeValue( NULL,SE_DEBUG_NAME,&tp.Privileges[0].Luid ); tp.PrivilegeCount = 1; tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges( hToken,FALSE,&tp,sizeof( TOKEN_PRIVILEGES ),NULL,NULL ); PROCESSENTRY32 pd; //进程数据(process data) pd.dwSize=sizeof(pd); //初始化大小 HANDLE hProcessSnap=::Createtoolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //创建进程快照 BOOL choose=::Process32First(hProcessSnap,&pd); //查找进程 BOOL stdexe=FALSE; //先假设学生机进程不存在 while(choose) { if( ! strcmp(pd.szExeFile,"StudentMain.exe") ) //如果寻找到学生机进程 { stdexe=TRUE; //找到了学生机进程 { HANDLE std = OpenProcess( PROCESS_ALL_ACCESS,pd.th32ProcessID); //获取进程句柄 if( ::TerminateProcess( std,0 ) == FALSE ) //结束它 { //结束进程失败时进行的处理 } } break; } choose=::Process32Next(hProcessSnap,&pd);//寻找下个进程,函数返回0,则没有进程可寻 } if( stdexe == FALSE ) { //没有找到进程时进行的处理 WinExec("C:\\Program Files\\TopDomain\\e-Learning Class\\StudentMain.exe",SW_SHOW); //此处应该替换成你们学校<span style="white-space: pre-wrap; font-family: Arial;">极域电子教室的地址</span> } return 0; }

//直接打开Windows运行输入taskkill -f -im StudentMain.exe -t可直接关闭

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐