VC++MFC 枚举系统进程核心代码
2007-03-21 13:00
288 查看
先看看PROCESSENTRY32
typedef struct tagPROCESSENTRY32 {
DWORD dwSize; // 结构大小;
DWORD cntUsage; // 此进程的引用计数;
DWORD th32ProcessID; // 进程ID;
DWORD th32DefaultHeapID; // 进程默认堆ID;
DWORD th32ModuleID; // 进程模块ID;
DWORD cntThreads; // 此进程开启的线程计数;
DWORD th32ParentProcessID; // 父进程ID;
LONG pcPriClassBase; // 线程优先权;
DWORD dwFlags; // 保留;
char szExeFile[MAX_PATH]; // 进程全名;
} PROCESSENTRY32;
//包含头文件:
#include "tlhelp32.h"
//示例:
//添加一个ListBox控件,并关联一个CListBox的m_ListBox变量;添加一个按钮OnButton1;
//添加一个void的OnGetProcess方法
void CXXXDlg::OnGetProcess()
{
m_ListBox.ResetContent();
CString m_output;
HANDLE hProcessSnap=NULL;
PROCESSENTRY32 pe32={0};
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap==(HANDLE)-1)
{
::MessageBox(NULL,"查询进程失败!:(","错误提示",MB_OK);
}
pe32.dwSize=sizeof(PROCESSENTRY32);
if(Process32First(hProcessSnap,&pe32))
{
do
{
m_output.Format("%-20s ID:%-5d",pe32.szExeFile,pe32.th32ProcessID);
m_ListBox.AddString(m_output);
}
while(Process32Next(hProcessSnap,&pe32));
}
else
{
::MessageBox(NULL,"出现意外错误!","错误提示",MB_OK);
}
CloseHandle(hProcessSnap);
}
void CXXXDlg::OnButton1()
{
OnGetProcess();
}
运行试试,进程名 ID 哈哈,
typedef struct tagPROCESSENTRY32 {
DWORD dwSize; // 结构大小;
DWORD cntUsage; // 此进程的引用计数;
DWORD th32ProcessID; // 进程ID;
DWORD th32DefaultHeapID; // 进程默认堆ID;
DWORD th32ModuleID; // 进程模块ID;
DWORD cntThreads; // 此进程开启的线程计数;
DWORD th32ParentProcessID; // 父进程ID;
LONG pcPriClassBase; // 线程优先权;
DWORD dwFlags; // 保留;
char szExeFile[MAX_PATH]; // 进程全名;
} PROCESSENTRY32;
//包含头文件:
#include "tlhelp32.h"
//示例:
//添加一个ListBox控件,并关联一个CListBox的m_ListBox变量;添加一个按钮OnButton1;
//添加一个void的OnGetProcess方法
void CXXXDlg::OnGetProcess()
{
m_ListBox.ResetContent();
CString m_output;
HANDLE hProcessSnap=NULL;
PROCESSENTRY32 pe32={0};
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap==(HANDLE)-1)
{
::MessageBox(NULL,"查询进程失败!:(","错误提示",MB_OK);
}
pe32.dwSize=sizeof(PROCESSENTRY32);
if(Process32First(hProcessSnap,&pe32))
{
do
{
m_output.Format("%-20s ID:%-5d",pe32.szExeFile,pe32.th32ProcessID);
m_ListBox.AddString(m_output);
}
while(Process32Next(hProcessSnap,&pe32));
}
else
{
::MessageBox(NULL,"出现意外错误!","错误提示",MB_OK);
}
CloseHandle(hProcessSnap);
}
void CXXXDlg::OnButton1()
{
OnGetProcess();
}
运行试试,进程名 ID 哈哈,
相关文章推荐
- 枚举系统进程核心代码(代码)
- 枚举系统进程核心代码
- 枚举系统进程VC代码
- 四种方法实现VC枚举系统当前进程
- VC/MFC 访问进程内存,代码片段
- 在Win2K系统中隐藏进程的VC代码
- 四种方法实现VC枚举系统当前进程
- 四种方法实现VC枚举系统当前进程
- 四种方法实现VC枚举系统当前进程
- 四种方法实现VC枚举系统当前进程
- 四种方法实现VC枚举系统当前进程
- MFC-用系统快照来枚举进程
- [VC]查找当前系统进程及其他常用代码
- 四种方法实现VC枚举系统当前进程[包含自己注释]
- 四种方法实现VC枚举系统当前进程
- 四种方法实现VC枚举系统当前进程
- 四种方法实现VC枚举系统当前进程
- VC/MFC 访问进程内存,代码片段
- 基于visual c++之windows核心编程代码分析(57)监控系统的每一个进程的创建
- 四种方法实现VC枚举系统当前进程