簡體   English   中英

在 windows7 上禁用 Ctrl+Alt+Del 組合

[英]Disable Ctrl+Alt+Del Combination on windows7

我正在開發一個應用程序(用 C# 編寫),它的設置可以在 KIOSK 模式下運行。 我在這里只是一個挑戰,即禁用Ctrl + Alt + Del組合事件。

在過去的類似帖子中沒有正確的答案。 請讓我知道正確的操作。 考慮到,我的代碼正在使用注冊表項來禁用/啟用選項,如果您知道任何注冊表項,它會更有幫助。

CTRL + ALT + DEL是 Windows NT(及其衍生產品,如 Win7)的安全注意序列 它是保證引起操作系統注意的一個組合鍵。 SAS 的全部意義在於它不能被用戶程序攔截或停止。

它解決的一個安全問題是虛假登錄屏幕:考慮一個看起來與正常 Windows 登錄屏幕完全相同的屏幕。 僅憑外觀無法判斷它是假的。 但是,如果您習慣於在登錄前始終按CTRL + ALT + DEL (有一個選項可以始終要求合法屏幕使用它),則在錯誤登錄屏幕上按 SAS 將調出任務管理器或安全注意屏幕(帶有注銷、更改密碼等選項)。 真正的登錄屏幕不會這樣做; 它只是停留在屏幕上。 只要操作系統本身沒有被替換或受到損害, CTRL + ALT + DEL將保護您免受虛假登錄屏幕的影響。 如果用戶程序可以攔截 SAS,它就沒有任何價值。

SAS 從一開始就融入到 Windows NT 設計中(它是 1993 年的第一個版本),因此繞過它並不容易。 我確信有鍵盤過濾器驅動程序——或攔截該序列的東西——是專為信息亭使用而設計的。

無法捕獲CTRL + ALT + DEL ,在所有 Windows 系統中都是這樣設計的。 這是一個安全問題,如果用戶按下CTRL + ALT + DEL ,他或她應該確定是操作系統而不是某個應用程序(可能是密碼捕獲木馬)響應它。

我想要捕獲CTRL + ALT + DEL,您需要編寫某種設備驅動程序。

編輯:另請參閱此答案 我沒有嘗試過,但問題非常相似。

盡管它有點可能,但這不是一件容易的事,也不是在 C# 中可以完成的事情。 本文將向您展示如何使用組策略編輯器禁用CTRL + ALT + DEL 但是,要永久禁用組合,您需要編寫自己的鍵盤驅動程序或編寫自己的 GINA 存根(圖形識別和身份驗證)。

可以阻止CTRL + ALT + DEL組合。 但是,您無法真正禁用它。 據我所知,有兩種可能的方法。

  1. 重新映射鍵盤布局。 有一個注冊表二進制鍵可讓您重新映射鍵盤布局:
HKLM\System\CurrentControlSet\Control\Keyboard Layout\Scancode Map

請查看: 禁用 Windows 熱鍵

  1. 這種方法可能很危險,但我沒有注意到這種方法可能導致的任何副作用。 CTRL + ALT + DEL組合由 winlogon.exe 處理。 如果您的進程具有管理權限,您可以掛起 winlogon.exe。 因此,它無法處理熱鍵,如果用戶按下CTRL + ALT + DEL不會發生任何事情。

請查看: 禁用 CTRL+ALT+DEL 的 C++ 代碼

可以選擇CTRL + ALT + DEL組合,但不能禁用它。
我嘗試使用SetWindowsHookExWH_KEYBOARD_LL禁用它,當按下CTRL + ALT + DEL時,您可以成功收到通知,但您無能為力。

您將需要執行一些 P/Invoke,在user32.dll 中,有一個名為SystemParametersInfo的方法,請查看這些資源以獲取更多信息

http://pinvoke.net/search.aspx?search=SystemParametersInfo&namespace=[全部]

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724947%28v=vs.85%29.aspx

很久以前我做了類似的事情,但不再有代碼,雖然我確實找到了這個(它在 vb6 中),但是理解這個想法並轉換為 .NET 應該不會太難

http://www.developerfusion.com/code/1021/how-to-disable-ctrlaltdel/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM