C++枚举进程的方法
来源:互联网 发布:java 0xff 编辑:程序博客网 时间:2024/06/02 08:11
主要使用的下面几个函数:
1、CreateToolhelp32Snapshot
2、Process32First
3、Process32Next
所以要引用下面的头文件:
#include <tlhelp32.h>
枚举进程的代码如下:
// 枚举系统当前所有进程信息// 并把信息输出到工程目录下EnumInfo_ToolHelp_process.txtBOOL EnumProcessInfo(){// 定义进程信息结构PROCESSENTRY32 pe32 = {sizeof(pe32)} ;// 创建系统当前进程快照HANDLE hProcessShot = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS, 0 ) ;if ( hProcessShot == INVALID_HANDLE_VALUE )return FALSE ;// 输出进程信息到文件ofstream fout ( "EnumInfo_ToolHelp_process.txt" ) ;// 循环枚举进程信息char szBuf[MAX_BUF_SIZE] = {0} ;if ( Process32First ( hProcessShot, &pe32 ) ){do {memset ( szBuf, 0, sizeof(szBuf) ) ;// 把宽字符的进程名转化为ANSI字符串WideCharToMultiByte (CP_ACP, 0, pe32.szExeFile, wcslen(pe32.szExeFile), szBuf, sizeof(szBuf), NULL, NULL );fout << "Process: " << szBuf << endl ;fout << '\t' << "Usage : " << pe32.cntUsage << endl ;fout << '\t' << "ProcessID : " << pe32.th32ProcessID << endl ;fout << '\t' <<"DefaultHeapID : " << (ULONG_PTR)pe32.th32DefaultHeapID << endl ;fout << '\t' << "ModuleID : " << pe32.th32ModuleID << endl ;fout << '\t' << "ThreadNum : " << pe32.cntThreads<< endl ;fout << '\t' << "ParentProcessID : " << pe32.th32ParentProcessID << endl ;fout << '\t' << "PriClassBase : " << pe32.pcPriClassBase << endl ;}while ( Process32Next ( hProcessShot, &pe32 ) ) ;}fout.close () ;CloseHandle ( hProcessShot ) ;return TRUE ;}
- 枚举进程的方法
- C++枚举进程的方法
- 四种枚举当前进程的方法
- 枚举进程的几种方法
- 枚举当前系统进程的一种方法
- 枚举进程的几种方法
- 9种枚举枚举进程的方法及实现
- C实现枚举进程
- 枚举系统进程方法
- VC枚举进程方法
- VC枚举进程方法
- 枚举CE中当前进程及进程详细信息的方法
- 枚举指定进程内核对象句柄的C源代码
- C语言枚举进程,实现一个简单的内存补丁
- VC枚举进程方法(转载)
- 用户态枚举进程的几种方法
- 枚举当前进程的几种方法(总结)
- 用户态枚举进程的几种方法(转载)
- HDU 4366 树转化为连续序列 线段树
- Rhino学习笔记(一)---配置安装和运行第一段javascript代码
- An internal error occurred during: "Launching New_configuration".
- 二叉树两个结点的最低共同父结点
- away3d 搭建(一)
- C++枚举进程的方法
- ubuntu强制安装flash
- 【解惑】这么多技术我该怎么学
- 在web.config里面怎么设置FORMS验证:某几个页面可以匿名访问,其他页面都需要登录
- BNU 0814 C The Captain's Squad
- Sphinx全文检索
- BLAST how to use blastn
- Sphinx安装与测试
- Coreseek安装与测试