zoukankan      html  css  js  c++  java
  • 强杀进程

    // ProcessDemo.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <Windows.h>
    #include <stdio.h>
    #include <conio.h>
    #include <iostream>
    #include <string>
    using namespace std;
    #include <Psapi.h>
    #pragma comment(lib,"psapi.lib")
    
    
    BOOL KillProcess(string strProcessName)
    {
    	DWORD dwProcessID[256]={0};		//进程ID
    	DWORD dwNeed=0;					//当前运行进程的字节
    	DWORD dwProcessCount=0;			//当前运行进程的个数
    	//枚举所有进程
    	EnumProcesses(dwProcessID,sizeof(dwProcessID),&dwNeed);
    	dwProcessCount=dwNeed/sizeof(DWORD);
    	//打开进程
    	HANDLE hProcess=NULL;
    	char strPathName[256]={0};		//记录进程路径
    	HMODULE hModule=NULL;
    	DWORD dwIndex=0;				//记录是否找到进程
    	for(DWORD i=0;i<dwProcessCount;++i)
    	{
    		//打开进程
    		 hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_TERMINATE,FALSE,dwProcessID[i]);
    		if(hProcess)
    		{
    			//枚举进程模块
    			 EnumProcessModules(hProcess,&hModule,sizeof(HMODULE),&dwNeed);
    			 memset(strPathName,0,sizeof(strPathName));
    			//获取进程具体路径及名称
    			GetProcessImageFileNameA(hProcess,strPathName,sizeof(strPathName));
    			cout<<strPathName<<'	'<<dwProcessID[i]<<endl;
    			//关闭进程
    			//比较输入路径与搜索路径是否相同
    			string strTemp=strPathName;
    			if(strTemp.find(strProcessName)!=-1)
    			{
    				//结束进程
    				TerminateProcess(hProcess,0);	
    				dwIndex++;
    			}
    		}
    		else
    			cout<<"打开进程失败"<<endl;
    	}
    	if(dwIndex>0)
    	{
    		CloseHandle(hProcess);
    		return TRUE;
    	}
    	else
    		return FALSE;
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	string strProcessName;
    	char ch='a';
    	while(ch!=27)
    	{
    		system("cls");
    		cout<<"输入要查杀的进程名:";
    		cin>>strProcessName;
    		if(KillProcess(strProcessName))
    			cout<<endl<<"结束进程成功"<<endl;
    		else
    			cout<<endl<<"结束进程失败"<<endl;
    		
    		cout<<endl<<"随意键继续 ESC退出"<<endl;
    		ch=getch();
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段
    Button 对 TreeView1 所有节点的全选
    启动Myeclipse报错“Failed to create the Java Virtual Machine”的解决办法
    Myeclipse 启动报错 Failed to create the java Virtual Machine
    ng-cordova和cordova区别
    Java高效计数器
    WebView 简介
    Hibernate——(4)Hibernate映射类型
    Hibernate——(3)主键生成方式
    Hibernate——(2)增删改查
  • 原文地址:https://www.cnblogs.com/gd-luojialin/p/10963188.html
Copyright © 2011-2022 走看看