zoukankan      html  css  js  c++  java
  • 如何枚举系统中的进程

    1、首先需要include一个文件,如下:
    #include <tlhelp32.h>

    2、参看以下代码:
    Code: Select all
         //遍历系统所有进程,杀死联众世界
    HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

    PROCESSENTRY32 *info = new PROCESSENTRY32;
    info->dwSize = sizeof(PROCESSENTRY32);
         if(Process32First(handle,info))
    {
      if(GetLastError()==ERROR_NO_MORE_FILES )
      {
       AfxMessageBox("No More Process");
      }
      else
      {
       //先判断第一个
       CString processname;
       UINT processid;
       HANDLE h;

       processname = info->szExeFile;
       if (processname == "GLWorld.exe")
       {
        //取得进程ID,然后杀掉进程
        processid = info->th32ProcessID;
        h = OpenProcess(PROCESS_ALL_ACCESS, TRUE, processid);
        if(h != NULL)
        {
         TerminateProcess(h, 0);
        }
       }
       else
       {
        while(Process32Next(handle,info)!=FALSE)
        {
         processname = info->szExeFile;
         if (processname == "GLWorld.exe")
         {
          //取得进程ID,然后杀掉进程
          processid = info->th32ProcessID;
          h = OpenProcess(PROCESS_ALL_ACCESS, TRUE, processid);
          if(h != NULL)
          {
           TerminateProcess(h, 0);
           break;
          }
         }
        }
       }
      }
    }
        CloseHandle(handle);
  • 相关阅读:
    【mongoDB运维篇④】Shard 分片集群
    【Linux高频命令专题(11)】cp
    【Linux高频命令专题(10)】mv
    Nginx + Lua + 共享内存
    ngx_lua模块学习示例之waf
    在 Golang 中使用 Protobuf
    openresty package.path require 报错
    ngx_lua 模块
    Lua中的常用语句结构以及函数
    lua日期与时间操作
  • 原文地址:https://www.cnblogs.com/super119/p/2011336.html
Copyright © 2011-2022 走看看