我可以在不編寫系統層級程式碼的情況下偵測 Windows 進程何時啟動嗎?

我可以在不編寫系統層級程式碼的情況下偵測 Windows 進程何時啟動嗎?

有沒有辦法透過效能監控、WMI 或其他免費工具來偵測特定進程何時啟動,或者更好的是何時即將啟動?然後,進一步捕獲傳遞給該進程的入口點函數的命令列參數。

僅僅檢測進程是否已在某個時間啟動並且已經在運行對於我的要求沒有任何價值。我讓 Visual Studio 啟動 Chrome 進行偵錯會話,我想 a) 找出 VS 是否使用 cmd.exe 啟動 Chrome,或 VS 內部的一些程式碼,以及 b) VS 傳遞給 Chrome 的哪些參數來配置它用於整合偵錯。

或者是否有某種方法可以使用 PowerShell 在進程映像(即 .exe 檔案)上放置某種監視,以查看何時存取它以執行?

答案1

您很可能希望查看啟動進程的進程,而不僅僅是目標進程本身。

過程監控器by SysInternals 應該能夠捕捉這一點。

篩選 Visual Studio 進程(也可能篩選 CMD 和 Chrome),觸發 VS 中的偵錯序列,然後查看擷取的內容。

另一個選擇,也來自 SysInternals,是流程瀏覽器,基本上是類固醇的任務管理器,它捕獲啟動每個進程的參數。如果 VS 啟動中介,然後開啟 Chrome,且該中介仍會作為 Chrome 進程的父進程執行,則 Process Explorer 將向您顯示傳遞的任何參數。

相關內容