Windows 關閉時的事件順序是什麼?

Windows 關閉時的事件順序是什麼?

當使用者透過加入網域的電腦上的「開始」功能表正常關閉時,首先會發生什麼,a) 嘗試關閉在背景執行的應用程式或 b) 與伺服器斷開連線?

我問的原因是,當用戶登入時,我們在伺服器共享上運行一個小型便攜式應用程式。

關機時,除極少數用戶外,所有用戶的正常行為是應用程式靜默終止(它攔截 Windows 關機信號並結束),並且 PC 關機繼續正常進行。

對於某些人來說,很明顯網路連線已終止,Windows 會拋出一個帶有 0xc00000c4、STATUS_UNEXPECTED_NETWORK_ERROR 的訊息框,因為應用程式無法自行關閉,因為它“不存在”,正如它所看到的那樣。

那麼,是否有一系列事件發生,或者是,嗯,誰知道發生了什麼以及何時發生的順序?

答案1

在關閉期間,Windows 僅向正在執行的所有程式發送關閉訊息。在給定超時時間內未完成的進程和服務可能會被強制終止,或者可能會提示使用者做出決定。

由於關閉是並行完成的,因此沒有有序的事件順序。此順序取決於每個進程終止所需的時間,並且可能進一步受到硬體效能的影響。

為了確保您的程式在此之前終止,您可以建立一個關閉腳本,以有序的方式關閉它。使用群組原則編輯器 ( gpedit.msc) 並轉至 電腦配置 > Windows 設定 > 腳本(啟動/關閉)

相關內容