2009-11-02 72 views
1

有可用更新時,用戶可以選擇從Windows開始菜單關機,會出現一個對話框,用於關閉菜單,註銷等,這些出現選擇Windows「安裝更新並關閉」註銷選項時發生了什麼?

一種選擇是

「安裝更新並關機「

問題是,當用戶按OK時會發生什麼?

是否顯示對話框資源管理器的任務? (這似乎是不可能告訴與過程監控間諜活動,因爲桌面是凍結)

我認爲(但我不知道)這是資源管理器,當用戶按下OK調用ExitWindowsEx

如果因此問題當用戶選擇「安裝更新並關閉」時,它會發送特殊標記到ExitWindowsEx或者調用另一個API,並且有什麼方法可以窺探這個功能?

+0

爲什麼?它是一個關於win程序和API的編程問題 – 2009-11-03 14:20:42

+0

你問題的*目的*不是很清楚。你想實現類似的東西嗎?更好地理解Windows如何工作?調整機制來做一些不同的事情?添加你自己的動作到關機對話框? – peterchen 2010-08-24 10:11:02

回答

0

當用戶點擊「ok」時,它會註銷每個連接的用戶,然後安裝所有掛起的更新。更新安裝過程不會在資源管理器中執行。我認爲它在WinLogon下執行,也許通過Winlogon notification package。我不知道哪個系統調用會自動觸發此行爲...但是,您可以查看Windows Update Agent API,它應該允許您以編程方式控制自動更新。

+1

我已經將WinDbg附加到Explorer.exe和bp user32!ExitWindowsEx,並且可以看到在cx和dx寄存器中傳遞的參數。我已經從開始菜單中進行了標準關機測試,並且還進行了「安裝更新和關機」,並且在每種情況下,標誌(Shutdown + Poweroff)傳遞的參數都是9,ExitWindowsEx調用看起來沒有任何區別。反彙編Explorer.exe(使用IDA PRO)顯示它有一個ExitWindowsEx導入但沒有交叉引用。我想知道這個調用的位置以及代碼的圍繞位置(可能是dll)? – 2009-11-03 23:16:21

0

我只是拋出一些想法..

也許它把一個條目在此註冊表項重啓之前:HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows \ CurrentVersion \的RunOnce

還檢查了在價值ShutdownFlags註冊表項HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon

相關問題