ProcessView是一款功能強大,簡單實用的進程遍歷工具,可以在進程列表欄目上查詢進程模塊,進程線程,進程窗口等信息,查看進程和線程的ID,基址和大小等項目,軟件使用C++編輯器環(huán)境進行導(dǎo)入編輯即可。
查詢進程模塊源碼
//遍歷模塊信息,添加到列表
void CMyModuleInfoDlg::GetModuleInfo()
{
//拍進程快照
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, m_ProcessId);
//獲取快照失敗,直接返回
if (INVALID_HANDLE_VALUE == hSnapshot)
{
return;
}
MODULEENTRY32 me32 = { 0 };
me32.dwSize = sizeof(MODULEENTRY32);
//遍歷進程
if (Module32First(hSnapshot, &me32))
{
int nRow = 0;
CString strFmt;
do
{
//將模塊路徑加入列表
m_ListCtrl.InsertItem(nRow, me32.szExePath);
//將模塊基地址加入列表
strFmt.Format(_T("0x%016X"), me32.modBaseAddr);
m_ListCtrl.SetItemText(nRow, 1, strFmt);
//將模塊大小加入列表
strFmt.Format(_T("0x%016X"), me32.modBaseSize);
m_ListCtrl.SetItemText(nRow, 2, strFmt);
nRow++;
} while (Module32Next(hSnapshot, &me32));
}
//關(guān)閉句柄
CloseHandle(hSnapshot);
軟件特色
學(xué)習WIN32編程的時候,做了一個進程遍歷工具,ProcessView支持dll注入