在前面的文章中,我介紹過如何替換Windows Shell,將桌面替換為自己的程式。
但是這麼做會有個問題,就是桌面環境未被初始化,即使建立了explorer.exe程序,桌面也不會出現。
這裡蒐集了一些關於WInlogon,LogonUI和Userinit的一些理論知識,有興趣的小夥伴可以瞭解一下。
Winlogon
Winlogon.exe位於%SystemRoot%\System32\Winlogon.exe
這個程式的描述如下圖所示。
這個程式實際負責以下功能
1、使用者登入
2、使用者登出
3、處理Ctrl+Atl+Del按鍵
這裡值得注意的是,這三個按鍵是無法被使用者層的應用程式所攔截。
在過去很長一段時間裡,我都在尋找攔截這三個按鍵的方式,但都以失敗告終。
也是最近才知道,只有在核心層,例如開發鍵盤過濾驅動,才能做到真正的攔截。
但是在應用層,我們還是有幾種辦法可以限制Ctrl+Alt+Del
方法1
透過組策略,或者注意表,禁用Ctrl+Alt+Del
方法2
掛起Winlogon.exe,使之無法響應鍵盤按鍵。
計算機\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon