栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++ 强杀进程

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++ 强杀进程

这个代码可以强制关闭很多进程,不过像杀毒软件一类的高级进程,这个代码还是束手无策。。。。。。

好了,废话不多说,直接上代码!

#include 
#include 
#include 
#include 
#include 
#include 
#pragma comment(linker, "/subsystem:"windows" /entry:"mainCRTStartup"")
using namespace std;

void ManagerRun(LPCSTR exe, LPCSTR param, int nShow = SW_SHOW) {
	SHELLEXECUTEINFO ShExecInfo;
	ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
	ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
	ShExecInfo.hwnd = NULL;
	ShExecInfo.lpVerb = "runas";
	ShExecInfo.lpFile = exe;
	ShExecInfo.lpParameters = param;
	ShExecInfo.lpDirectory = NULL;
	ShExecInfo.nShow = nShow;
	ShExecInfo.hInstApp = NULL;
	BOOL ret = ShellExecuteEx(&ShExecInfo);
	CloseHandle(ShExecInfo.hProcess);
}

int main(int argc, char *argv[]) {
	if(argc == 1) {
		ShowWindow(GetConsoleWindow(), SW_HIDE);
		ManagerRun(argv[0], "2");
		return 1;
	}
	else if(argc == 2) {
		string ExeName;
	    cout << "请输入要关闭的的进程名称:" << endl;
	    getline(cin, ExeName);
	    ExeName += ".exe";
	    TCHAR Kill_Name[MAX_PATH];
	    for(int i = 0; i < ExeName.size(); i++) Kill_Name[i] = TCHAr(ExeName[i]);
	
	    while(true) {
		    HANDLE hSnapshort = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
		    if(hSnapshort == INVALID_HANDLE_VALUE) {
			    cout << "CreateToolhelp32Snapshot调用失败!" << endl;
			    exit(0);
		    }
		    
		    PROCESSENTRY32 stcProcessInfo;
		    stcProcessInfo.dwSize = sizeof(stcProcessInfo);
		    BOOL  bRet = Process32First(hSnapshort, &stcProcessInfo);
		    while(bRet) {
			    if(!strcmp(stcProcessInfo.szExeFile, Kill_Name)) {
				    Sleep(2000);
				    HANDLE hProcess = ::OpenProcess(PROCESS_TERMINATE, FALSE, stcProcessInfo.th32ProcessID);
				    ::TerminateProcess(hProcess, 0);
				    CloseHandle(hProcess);
			    }
			    bRet = Process32Next(hSnapshort, &stcProcessInfo);
		    }
		
		    CloseHandle(hSnapshort);
	    }
	}
}

输入进程名的时候后面不要加.exe,还有,输入的是进程名,不是快捷方式的名字!这个代码没什么伤害,可以拿去恶搞~

好了,本期就到这里!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849843.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号