Winlogon 通過可替換的 GINA DLL (msgina.dll) 處理交互式登錄。Ctrl+Alt+Del 為安全注意序列 (SAS),在用戶登錄狀態下由 WlxLoggedOnSAS 處理。替換 GINA DLL 並重寫該函數即可攔截並屏蔽該熱鍵。
項目名 MyGina,選「Regular DLL with MFC statically linked」。
在 MyGina.h 定義函數指針類型與成員變量,InitInstance 中 LoadLibrary("msgina.dll") 並 GetProcAddress 獲取所有接口地址,ExitInstance 釋放。
WlxLoggedOnSAS
int WINAPI WlxLoggedOnSAS(PVOID pWlxContext, DWORD dwSasType, PVOID pReserved) {
return WLX_SAS_ACTION_NONE; // 直接忽略所有 SAS 事件,不彈出「Windows 安全」對話框
}
其餘 17 個接口直接轉發給原版 msgina.dll,保持原有登錄、鎖定、關機等流程不變。
MyGina.dll 放入 Winnt\system32。HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\GinaDLL = "MyGina.dll"。Windows 2000 + VC++ 6.0 編譯通過。用戶登錄後按 Ctrl+Alt+Del 不再彈出安全對話框,其他 GINA 功能完好。