您的位置:首页 > 其它

进程遍历

2015-06-12 14:31 513 查看
进程遍历的功能太常用了,记录一下:

#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: