终止其他进程

#include"stdafx.h"
#include <windows.h>
#include
<TlHelp32.h>
#include <iostream>
using namespace
std;

BOOL KillProcess(DWORD ProcessId)
{
    HANDLE
hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,ProcessId);
   
if(hProcess==NULL)
        return
FALSE;
   
if(!TerminateProcess(hProcess,0))
       
return FALSE;
    return TRUE;
}

DWORD
GetSpecifiedProcessId(const char *pszProcessName)
{
  DWORD id=0;

  //获得系统快照句柄 (通俗的讲, 就是得到当前的所有进程)
  HANDLE hSnapShot =
CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0) ;
  PROCESSENTRY32 pInfo;
//用于保存进程信息的一个数据结构
  pInfo.dwSize = sizeof(pInfo);
//使用这个结构之前,先设置它的大小
  //从快照中获取进程列表
  Process32First(hSnapShot, &pInfo)
; //从第一个进程开始循环
  do
  {
  //这里的 pszProcessName 为进程名称

    if(strcmp(pInfo.szExeFile, pszProcessName) == 0)
    {
      id
= pInfo.th32ProcessID ;
      break ;
    }

  }while(Process32Next(hSnapShot, &pInfo) != FALSE);

  CloseHandle(hSnapShot);
  return id; //id 就是你要的进程PID 了..

}

int _tmain (int argc, LPTSTR argv[])
{
  
 

    if(KillProcess(
GetSpecifiedProcessId("QQProtect.exe")))
    {
  
     cout<<"成功"<<endl;
  
 }else{
      
 cout<<"失败"<<endl;
    }
  
 
    system("pause");
    return
0;
}

终止其他进程,码迷,mamicode.com

时间: 2024-10-08 17:15:37

终止其他进程的相关文章

为应用程序池 &#39;&#39;DefaultAppPool&#39;&#39; 提供服务的进程意外终止。进程 ID 是 &#39;&#39;xxx&#39;&#39;问题的解决方法

网上提供了很多办法,都未解决. 解决过程一波三折,依次用了下列方法: 1.解决办法 点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电脑”-“DCOM”选项, 选择其下的“IIS ADMIN SERVICE”,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号“Network Service”, 给该帐号赋予“本地启动”和“本地激活”的权限,重新启动IIS,(点“开始”-“运行”-“CMD”,点确定,然后运行IISRESET) 注:没有能够解

linux screen --解决会话终止当前进程断开的问题!

使用原因: 远程到服务器,经常运行一些需要很长时间才能完成的任务,比如备份数据,传输数据等.通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了.必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了. 优点: 会话恢复 只要Screen本身没有终止,在其内部运行的会话都可以恢复.这一点对于远程登录的用户特别有用--即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制.只要再次登录到主机上执行screen -r就可以恢复

WindowsAPI详解——TerminateProcess 终止|杀死其它进程

TerminateProcess 终止其它进程 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/flyxxtt-logs/43973152.html 这个函数可以用来终止或者说杀死一个进程,它不会留给进程及其所有线程清理的时间,系统会马上终止(杀死)这个进程的所有线程,致使进程终止.在使用此函数前我们必须要调用OpenProcess函数来获得我们要终止(杀死)进程的句柄,并且要获得进程的PROCESS_TERMINATE权限. 函数原

UNIX环境编程学习笔记(15)——进程管理之进程终止

lienhua342014-10-02 1 进程的终止方式 进程的终止方式有 8 种,其中 5 种为正常终止,它们是 1. 从 main 返回. 2. 调用 exit. 3. 调用_exit 或_Exit. 4. 最后一个线程从其启动例程返回. 5. 最后一个线程调用pthread_exit. 另外三种为异常终止方式,它们是 1. 调用 abort. 2. 接到一个信号并终止. 3. 最后一个线程对取消请求做出响应. 2 exit 函数 有三个函数用于正常终止一个程序:_exit 和_Exit

HOOK API(四)—— 进程防终止

HOOK API(四) —— 进程防终止 0x00        前言 这算是一个实战吧,做的一个应用需要实现进程的防终止保护,查了相关资料后决定用HOOK API的方式实现.起初学习HOOK API的起因是因为要实现对剪切板的监控,后来面对进程保护这样一个需求时,综合各方资料并自己动手实现HOOK OpenProcess() 和 TerminateProcess() 来从调用层实现进程的防终止.下面将进一步介绍实现的过程,也算是对学习的一个总结与实战. 主要参考:http://www.cnbl

Linux常用指令---kill | killall(终止进程)

kill Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令.通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程.kill命令是通过向进程发送指定的信号来结束相应进程的.在默认情况下,采用编号为15的TERM信号.TERM信号将终止所有不能捕获该信号的进程.对于那些可以捕

我使用过的Linux命令之kill - 终止进程/发送信号

用途说明 kill命令用于终止指定的进程(terminate a process),是Unix/Linux下进程管理的常用命令.通常,我们在需要终止某个或某些进程时,先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程.kill命令的另外一个用途就是向指定的进程或进程组发送信号(The  command kill sends the specified signal to the specified process or process group)

(转)进程控制:进程的创建、终止、阻塞、唤醒和切换

进程控制:进程的创建.终止.阻塞.唤醒和切换 进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程.撤销已有进程.实现进程状态转换等功能.在操作系统中,一般把进程控制用的程序段称为原语,原语的特点是执行期间不允许中断,它是一个不可分割的基本单位. 进程的创建 允许一个进程创建另一个进程.此时创建者称为父进程,被创建的进程称为子进程.子进程可以继承父进程所拥有的资源.当子进程被撤销时,应将其从父进程那里获得的资源归还给父进程.此外,在撤销父进程时,也必须同时撤销其所有的子进程.

Linux之进程终止

Linux中进程退出分为正常退出和异常退出 1.正常退出 (1)在main()函数中执行return (2)调用exit()函数 (3)调用_exit()函数 2.异常退出 (1)调用about()函数 (2)进程收到某个信号,而该信号使进程终止 对比 (1)exit与return exit:一个函数,有参数.exit执行完后把控制权交给系统 return:函数执行完后的返回.return执行完后把控制权交给调用函数 (2)exit与about exit:正常终止进程 about:异常终止进程