2011-04-08 69 views
1

Windows系統進程(在本例中爲Windows 7)「csrss.exe」作爲SYSTEM進程運行,當我以pid,命令行和映像路徑名的形式獲取進程列表(當然,編程)沒有獲取命令行或圖像路徑名稱的值,因爲Windows不會讓你獲取SYSTEM進程的信息(我相信)。是否有可能獲得作爲SYSTEM進程的csrss.exe的「圖像路徑名稱」?

有沒有一種方法可以從SYSTEM進程中獲取圖像路徑名? Windows實際上是否阻止你這樣做?有沒有解決方法?

更新:調用ReadProcessMemory()函數

[http://msdn.microsoft.com/en-us/library/aa915312.aspx]

+0

您發佈的鏈接適用於Windows Mobile 6.5,您是否在此環境中工作?或者你的意思是:http://msdn.microsoft.com/en-us/library/ms680553(v=vs.85).aspx用於Windows API開發?也許用你正在工作的領域標記問題來幫助一下。 – 2011-04-13 18:43:48

回答

1

最簡單的方式(比ReadProcessMemory容易得多,這如果你知道在哪裏可以看到),你可以在這個MSDN頁面上看到更多的參考資料;

TH32CS_SNAPPROCESS 0x00000002

包括快照系統 所有進程。要列舉 進程,請參閱Process32First

注意,您可以使用 QueryFullProcessImageName功能 檢索既是 可執行映像的全名32和32位 過程 64位進程。

szExeFile進程的可執行文件 的名稱。要檢索 完整路徑的可執行文件,調用 的Module32First功能檢查 的 MODULEENTRY32結構,是 返回的szExePath成員。然而,如果主叫 過程是一個32位的過程中,必須 調用QueryFullProcessImageName 函數來獲取的 可執行文件的完整路徑,64位 過程。

非常簡單。

相關問題