进程遍历

进程遍历的功能太常用了,记录一下:

#include<iostream>
#include<Windows.h>
#include<TlHelp32.h>
#include <atlstr.h>
#include <fstream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{


	std::ofstream ofile("C:\\lo.txt");
	while(true)
	{

		HANDLE handle;	 //定义CreateToolhelp32Snapshot系统快照句柄 

		HANDLE handle1;	 //定义要结束进程句柄 

		handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//获得系统快照句柄 

		PROCESSENTRY32 *info;	 //定义PROCESSENTRY32结构字指 

		//PROCESSENTRY32  结构的 dwSize 成员设置成 sizeof(PROCESSENTRY32) 

		info=new PROCESSENTRY32;             

		info->dwSize=sizeof(PROCESSENTRY32); 

		//调用一次 Process32First 函数,从快照中获取进程列表 

		Process32First(handle,info); 

		//重复调用 Process32Next,直到函数返回 FALSE 为止 
		std::cout<<"start..."<<std::endl;

		while(Process32Next(handle,info)!=FALSE) 
		{ 

			info->szExeFile;     //指向进程名字 
			CString str;
			str.Format("id:%d, name:%s",info->th32ProcessID,info->szExeFile);
			std::cout<<str.GetString()<<std::endl;
			ofile<<str.GetString()<<std::endl;

		} 
		CloseHandle(handle);

		Sleep(500);
	}






	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值