當我們要更新某乙個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...