获取进程列表信息,并列举出每个进程所调用的DLL列表:
1.分别添加List Control,List Box控件,并关联对应的变量:
CListCtrl m_listProcess;
CListBox m_listDll;
2.添加头文件:
#include <TlHelp32.h>
#include "Psapi.h"
#pragma comment(lib, "Psapi.lib")
3.添加获取进程信息的变量:
public:
HANDLE hProcessSnap ;
unsigned int uPId ;//保存进程PID
CString m_processName ;//保存进程名
CString m_processPath ;//保存进程路径
4.在初始化中设置并获取进程列表信息:
m_listProcess.SetExtendedStyle(m_listProcess.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP ) ;
m_listProcess.InsertColumn(0, _T("进程ID"), LVCFMT_LEFT, 70) ;
m_listProcess.InsertColumn(1, _T("进程名"), LVCFMT_LEFT, 90) ;
m_listProcess.InsertColumn(2, _T("进程路径"), LVCFMT_LEFT, 380) ;
GetProcessName() ;
5.GetProcessName()函数:
//用于提权的
BOOL CXXXDlg::EnableDebugPrivilege(BOOL fEnable)
{
BOOL fOk = FALSE ;
HANDLE hToken ;
//得到进程的访问令牌
if ( OpenProcessToken( GetCurrentProcess(), TOKEN_AD