2017-02-07 36 views
0

關於如何啓動shell關閉操作至少有this question。問題是它沒有捕獲與'x'按鈕關閉PowerShell窗口。顯然它不會產生上述事件。有什麼辦法可以捕捉到這種密切和有力的行動嗎?PowerShell窗口關閉操作'x'

我想要的是在關閉時從會話變量(散列表System.Diagnostisc.Process)關閉到系統變量時管理一些值。這樣新的會話可以直接訪問它們。

回答

0

也許表達式「每個問題都可以用另一個間接層次解決」(see also)適用於此處。

可能真的取決於您的需求以及您的腳本如何工作等。也許您可以通過加載一些通用庫來啓動每個需要此行爲的腳本,該庫會導出一個函數,用於監視一個給定的PowerShell過程,即您當前的過程。

您可以使用$pid變量獲取此信息,並將其傳遞給您的watcher函數,該函數啓動等待當前腳本退出的進程。這可能是另一個腳本,C#等。另請參閱Get-Process -Id $pid

不知道你想完成它是什麼很難推薦任何更具體的可能滿足您的需求,如日誌記錄,成績單,用戶教育,檢測的「髒關機」你的代碼,等

+0

加載一個DLL應該是足夠的,因爲那些被通知即將發生的進程關閉。 – Joey

+0

@Kory Gill我用我的需求更新了問題 - 想爲將來的會話保存活動進程的散列表。 – ephemeris

+0

@Joey你能否詳細說說DLL,至少在哪裏尋找? – ephemeris