程序列舉之PSAPI函式

2021-09-06 11:41:12 字數 776 閱讀 8948

使用psapi (process statusapi)函式

這是一種windows nt/2000下的方法。核心是使用enumprocesses函式。它的原型如下:

bool enumprocesses(

__out  dword *lpidprocess, // 用於儲存所有程序的pid的陣列

__in   dword cb, // 上述陣列的大小

__out  dword *cbneeded // pid陣列中實際返回的(有效)位元組數

);當獲得系統中所有程序的pid後,我們就可以使用openprocess函式開啟指定的程序,再呼叫getmodulebasename獲得該程序的名字,呼叫enumprocessmodules列舉該程序呼叫的所有模組,呼叫getmodulefilenameex獲得模組檔案的全路徑。

#include

#include

#include

#include "psapi.h"

#pragma comment(lib,"psapi.lib")

void printprocessnameandid( dwordprocessid )

} //print the process name and identifier.

_tprintf(text("%s  (pid: %u)\n"),szprocessname, processid );

closehandle(hprocess ); }

void main( )

獲取系統執行程序資訊 PSAPI介紹使用

網上資料顯示,有這麼三種方法可以用來獲取系統執行程序資訊 方法平台 備註psapi windows nt,windows2000,windows xp 獲取程序,驅動器,模組,記憶體和工作集資訊 效能計數器 windows nt,windows2000,windows xp 提供除程序清單以外的關於...

列舉程序控制代碼

目前正在做的專案進行效能測試,被通知程序控制代碼數已經到達2600多,心中甚是一驚,用procexp檢視控制代碼表得知,為型別為key的控制代碼,名稱為 registry hklm microsoft ctf assemblyitem.基本上得知是輸入法關聯的登錄檔項,而後用procmon監視登錄檔...

列舉程序資訊

1.psapi法 include include include include psapi.h pragma comment lib,psapi.lib int main numofprocess cbneededprocess sizeof dword for uint i 0 i3.wtsop...