C/C++结束指定进程
起因:ZZ室友最近沉迷吃鸡,没日没夜的和他的小伙伴开黑,严重影响到了寝室静谧,美好,热爱“学习”的氛围!突发奇想,给他电脑发个程序,当吃鸡吃到一半的时候,自动结束吃鸡进程,岂不美哉,哈哈,纯属说笑,并不会真的搞事情,开机自动运行没有加上,但是这个需求在脑海中形成想实现,正好巩固一下win32编程,废话不多,上代码!
#include"stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <TlHelp32.h>
#include <stdlib.h>
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) //隐藏运行的控制台窗口
int Kill_Pro(TCHAR Kill_Name[]) //功能函数。参数是进程名
{
while(1){ //死循环为了一直获取当前系统正在运行的进程
// 为进程的所有线程拍个快照
HANDLE hSnapshort = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if( hSnapshort==INVALID_HANDLE_VALUE )
{
printf("CreateToolhelp32Snapshot调用失败!\n");
return -1;
}
// 获得线程列表
PROCESSENTRY32 stcProcessInfo;
stcProcessInfo.dwSize = sizeof(stcProcessInfo);
BOOL bRet = Process32First(hSnapshort, &stcProcessInfo);
while (bRet)
{
if(strcmp(stcProcessInfo.szExeFile,Kill_Name)==0)
{
Sleep(2000); //等待时间
HANDLE hProcess = ::OpenProcess(PROCESS_TERMINATE,FALSE,stcProcessInfo.th32ProcessID); //获取进程句柄
::TerminateProcess(hProcess,0); //结束进程
CloseHandle(hProcess);
}
bRet = Process32Next(hSnapshort, &stcProcessInfo);
}
CloseHandle(hSnapshort);
}
return 0;
}
int main() //主函数
{
Kill_Pro("editplus.exe");
return 0;
}
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询