枚举windows全系列(98 NT 2000以及后系列)进程--2

#include "StdAfx.h"
#include <windows.h>
#include <tlhelp32.h>   // Toolhelp 32

#ifndef WIN98_PROCESS_
#define WIN98_PROCESS_
#define WIN32_LEAN_AND_MEAN

typedef BOOL (WINAPI *PROCESSWALK)(
           HANDLE hSnapshot,   
           LPPROCESSENTRY32 lppe
           );

typedef HANDLE (WINAPI *CREATESNAPSHOT)(
          DWORD dwFlags,
          DWORD th32ProcessID
          );
void Win98_Process(strings &Pro cessList)
{
 HANDLE hKernel;
 HANDLE snapshot;
    PROCESSENTRY32 proc;
 
    CREATESNAPSHOT CreateToolhelp32Snapshot;
    PROCESSWALK Process32First;
    PROCESSWALK Process32Next;
 
 hKernel = GetModuleHandle("KERNEL32.DLL");
 if ( NULL == hKernel )
 {
        return;
 }
 CreateToolhelp32Snapshot =
  (CREATESNAPSHOT)GetProcAddress((HINSTANCE)hKernel,
  "CreateToolhelp32Snapshot");
 Process32First = (PROCESSWALK)GetProcAddress((HINSTANCE)hKernel,
  "Process32First");
 Process32Next  = (PROCESSWALK)GetProcAddress((HINSTANCE)hKernel,
  "Process32Next");
 if (
  NULL == CreateToolhelp32Snapshot ||
  NULL == Process32First    ||
        NULL == Process32Next)
 {
        return;
 }
    proc.dwSize = sizeof(proc);
 snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 Process32First(snapshot, &proc);
 //添加保存
 ProcessList.push_back(proc.szExeFile);
 
    while (TRUE == Process32Next(snapshot, &proc))
 {
  ProcessList.push_back(proc.szExeFile);
 }
 
 CloseHandle(snapshot);
 
}
#endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值