zoukankan      html  css  js  c++  java
  • 杀死已知应用程序名的进程

    #include <Tlhelp32.h>
    #include <stdio.h>

    void KillProcess(LPTSTR sProcessName)
    {
     char cTemp[256];
     //判该程序是否运行
     HANDLE hProcessSnap = NULL;
     PROCESSENTRY32 pe32={0};

     PROCESS_INFORMATION ProcessInfo;
     STARTUPINFO StartupInfo = {0};

     hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
     if (hProcessSnap == (HANDLE)-1)
      return;

     pe32.dwSize = sizeof(PROCESSENTRY32);
     if (Process32First(hProcessSnap, &pe32))
     {
      do
      {
       if (strcmp(pe32.szExeFile,sProcessName) == 0)
       {
        StartupInfo.cb = sizeof(STARTUPINFO);
        StartupInfo.wShowWindow = SW_HIDE;
        ZeroMemory(&StartupInfo, sizeof(StartupInfo));
        sprintf(cTemp,"ntsd -c q -p %d", pe32.th32ProcessID);

        CreateProcess(NULL,cTemp,NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo);
        CloseHandle(hProcessSnap);
        return;
       }
      }while (Process32Next(hProcessSnap, &pe32));
     }

     CloseHandle(hProcessSnap);
    }

    假设已知应用程序全路径名称:

     LPTSTR lpszProcName = "E://项目文档与程序//BeatTest//BeatTest.exe";

    那么如下调用即可杀死已有进程。
     LPTSTR lpExeName = strrchr(lpszProcName, '//');
     KillProcess(lpExeName + 1);

     
  • 相关阅读:
    PHP Session 变量
    PHP Cookie是什么
    PHP 文件上传
    PHP 文件处理
    PHP include 和 require 语句
    Mac pycharm专业版安装以及破解方法
    bzoj3946: 无聊的游戏
    win10 uwp 九幽图床
    win10 uwp 九幽图床
    git无法pull仓库refusing to merge unrelated histories
  • 原文地址:https://www.cnblogs.com/tyjsjl/p/2156104.html
Copyright © 2011-2022 走看看