杀死指定的进程名
1 /******************************************************************************* 2 函数名称 : LookUpProcessAndKill 3 函数描述 : 遍历进程找到需要杀死的进程 4 输入参数 : N/A 5 输出参数 : N/A 6 返回值 : N/A 7 作者 : N/A 8 *******************************************************************************/ 9 BOOL LookUpProcessAndKill(const vector<CString> &vecProcessName) 10 { 11 BOOL bRet = FALSE; 12 HANDLE SnapShot, ProcessHandle; 13 SHFILEINFO shSmall; 14 PROCESSENTRY32 ProcessInfo; 15 16 CString strSearchName; 17 CString strRunProcessName; 18 SnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 19 if(SnapShot != NULL) 20 { 21 ProcessInfo.dwSize = sizeof(ProcessInfo); // 设置ProcessInfo的大小 22 BOOL Status = Process32First(SnapShot, &ProcessInfo); 23 24 //提升升级工具进程权限为SE_DEBUG_NAME,否则XP下无法杀掉进程 25 HANDLE hToken; 26 if(OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken)) 27 { 28 LUID luid; 29 if(LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luid)) 30 { 31 TOKEN_PRIVILEGES TokenPrivileges; 32 TokenPrivileges.PrivilegeCount = 1; 33 TokenPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; 34 TokenPrivileges.Privileges[0].Luid = luid; 35 AdjustTokenPrivileges(hToken, FALSE, &TokenPrivileges, 0, NULL, NULL); 36 } 37 CloseHandle(hToken); 38 } 39 40 while(Status) 41 { 42 // 获取进程文件信息 43 SHGetFileInfo(ProcessInfo.szExeFile, 0, &shSmall, sizeof(shSmall), SHGFI_ICON|SHGFI_SMALLICON); 44 45 // 检测进程是否需要关闭 46 strRunProcessName = ProcessInfo.szExeFile; 47 strRunProcessName.MakeLower(); 48 for (vector<CString>::size_type it = 0; it != vecProcessName.size(); ++ it) 49 { 50 strSearchName = vecProcessName[it]; 51 strSearchName.MakeLower(); 52 if(strSearchName == strRunProcessName) 53 { 54 // 获取进程句柄,强行关闭 55 ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessInfo.th32ProcessID); 56 if (ProcessHandle != NULL) 57 { 58 bRet = TerminateProcess(ProcessHandle, 1); 59 CloseHandle(ProcessHandle); 60 } 61 62 break; 63 } 64 65 } 66 67 // 获取下一个进程的信息 68 Status = Process32Next(SnapShot, &ProcessInfo); 69 } 70 } 71 72 return bRet; 73 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步