zoukankan      html  css  js  c++  java
  • c++ win32 遍历进程列表

    使用 CreateToolhelp32Snapshot

    #include <iostream>
    #include <Windows.h>
    #include <TlHelp32.h>
    #include <Psapi.h>
    
    int main() {
      HANDLE hSnap = CreateToolhelp32Snapshot(PROCESS_ALL_ACCESS, 0);
      if (hSnap != INVALID_HANDLE_VALUE)
      {
        PROCESSENTRY32 pe;
        pe.dwSize = sizeof(pe);
        if (Process32First(hSnap, &pe))
        {
          do {
            printf("PID: %X	%ls
    ", pe.th32ProcessID, pe.szExeFile);
          } while (Process32Next(hSnap, &pe));
        }
      }
      CloseHandle(hSnap);
      return 0;
    }
    

    使用 EnumProcesses

    #include <iostream>
    #include <Windows.h>
    #include <TlHelp32.h>
    #include <Psapi.h>
    
    int main() {
      DWORD aProcesses[1024], cbNeeded, cProcesses;
      size_t i;
      if (!EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded))
      {
        return 1;
      }
      cProcesses = cbNeeded / sizeof(DWORD);
      for (i = 0; i < cProcesses; i++)
      {
        if (aProcesses[i] != 0)
        {
          DWORD pid = aProcesses[i];
          TCHAR szProcessName[MAX_PATH] = TEXT("???");
          HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pid);
          if (NULL != hProcess)
          {
            HMODULE hMod;
            DWORD cbNeeded;
            if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))
            {
              GetModuleBaseName(hProcess, hMod, szProcessName, sizeof(szProcessName) / sizeof(TCHAR));
            }
          }
          printf("PID: %X	%ls
    ", pid, szProcessName);
          CloseHandle(hProcess);
        }
      }
      return 0;
    }
    
  • 相关阅读:
    Samba配置文件常用参数详解-OK
    SVN Server配置详解 及备份
    secure crt 基本设置***
    ultraedit15.00.0.1046注册码
    makefile中的shell语法 ***
    Spring (一) IOC ( Inversion Of Control )
    软件开发过程中会出来的几个版本
    poj3070
    Python基础 3----文件和网络
    HDU 4720 Naive and Silly Muggles (外切圆心)
  • 原文地址:https://www.cnblogs.com/ajanuw/p/14439105.html
Copyright © 2011-2022 走看看