zoukankan      html  css  js  c++  java
  • VC 通过进程名杀掉进程

    BOOL KillProcessFromName(CString strProcessName)
    {
    //创建进程快照(TH32CS_SNAPPROCESS表示创建所有进程的快照)
    HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    //PROCESSENTRY32进程快照的结构体
    PROCESSENTRY32 pe;
    //实例化后使用Process32First获取第一个快照的进程前必做的初始化操作
    pe.dwSize = sizeof(PROCESSENTRY32);
    //下面的IF效果同:
    //if(hProcessSnap == INVALID_HANDLE_VALUE) 无效的句柄
    if (!Process32First(hSnapShot, &pe))
    {
    return FALSE;
    }
    //将字符串转换为小写
    strProcessName.MakeLower();
    //如果句柄有效 则一直获取下一个句柄循环下去
    while (Process32Next(hSnapShot, &pe))
    {
    //pe.szExeFile获取当前进程的可执行文件名称
    CString scTmp = pe.szExeFile;
    //将可执行文件名称所有英文字母修改为小写
    scTmp.MakeLower();
    //比较当前进程的可执行文件名称和传递进来的文件名称是否相同
    //相同的话Compare返回0
    if (!scTmp.Compare(strProcessName))
    {
    //从快照进程中获取该进程的PID(即任务管理器中的PID)
    DWORD dwProcessID = pe.th32ProcessID;
    HANDLE hProcess = ::OpenProcess(PROCESS_TERMINATE, FALSE, dwProcessID);
    ::TerminateProcess(hProcess, 0);
    CloseHandle(hProcess);
    return TRUE;
    }
    scTmp.ReleaseBuffer();
    }
    strProcessName.ReleaseBuffer();
    return FALSE;
    }

    //使用

    KillProcessFromName("XXX.exe");

  • 相关阅读:
    Java 同步器
    Python: Soft_max 分类器
    【五年】Java打怪升级之路
    关于Csdn水区被占据一事 (2015-08-01)
    Jquery—Jquery中的(function($){...})(jQuery)
    AjaxAnyWhere 实现页面局部刷新,局部分页
    Erlang Port 小心换行
    基于Unity3D云人脸监測技术
    HTML中的超链接
    poj 1979 dfs
  • 原文地址:https://www.cnblogs.com/waterair/p/6748388.html
Copyright © 2011-2022 走看看