獲取程序模組

2021-06-03 00:41:15 字數 797 閱讀 1661

當我們要更新某乙個dll時,該dll有可能正在被使用中,我們只有先找到正在使用該dll的程序後,關閉程序才能更新dll,

以下我採用的是列舉的方法。

#include 

<

windows.h

>

#include 

<

tlhelp32.h

>

void

checkdll(lpctstr dllname);

void

check(processentry32 

*pe,lpctstr dllname);

intmain(

intargc, 

char

*argv)

void

checkdll(lpctstr dllname) 

bool bmore

=::process32first(hprocesssnap,

&pe32);

//獲取第乙個程序資訊    

while

(bmore)

::closehandle(hprocesssnap);    

}void

check(processentry32 

*pe,lpctstr dllname)

bmore

=module32next( hsnapshot, 

&md32 );

//獲取下乙個模組資訊        

} closehandle( hsnapshot );

}

獲取系統當前的程序及模組資訊

1 bool enumprocesses dword lpidprocess,dword cb,dword cbneeded 獲取當前系統的程序id列表。lpidprocess為儲存程序id的陣列,cb為陣列大小,cbneeded為實際的系統程序數 2 handle openprocess dwor...

程序 執行緒 模組

以下解發布具 深入淺出mfc 侯捷 譯 模組 如果我們能夠知道作業系統如何看待模組和程序,就能夠給出具體的答案。一段可執行的程式 包括exe和dll 其程式 資料 資源 被載入到記憶體中,由系統靜置的資料結構來管理它,就是乙個塊,這裡所有的資料結構,名為module m d ul 模組 元件 dat...

程序模組檢視

本文及其附帶原始碼為sdk工程,用於列舉程序及其所掛接的所有模組,並實現了遠端解除安裝指定的程序模組,此外,實現了對系統執行對話方塊 檔案屬性對話方塊的呼叫。關鍵字 列舉程序 程序模組 遠端解除安裝 環境 vc6.0 winxp sp2 1024 768解析度 補充 這是本人2006年寫的 純sdk...