Могу ли я перехватить возвращаемое значение "Ctrl + Alt + Del"? - PullRequest
2 голосов
/ 28 декабря 2010

В Windows экран безопасности Windows (включая выход из системы, sutdown, taskmgr и т. Д.) Появляется при нажатии ctrl + alt + del

Но я хочу, чтобы мое приложение отображалось, когда мы нажимаем ctrl + alt + del .

Так что мне нужно возвращаемое значение ctrl + alt + del .

Как получить возвращаемое значение из ctrl + alt + del или что такое возвращаемое значение из него?

Ответы [ 4 ]

9 голосов
/ 28 декабря 2010

Не могли бы вы уточнить, чего вы хотите достичь?Вы, вероятно, не сможете (и, скорее всего, не должны) перехватить Secure Attention Sequence для выполнения действий, специфичных для приложения.Однако вы можете настроить или заменить компонент входа в систему (GINA), который отвечает за обработку SAS - это может быть полезно, например, в системах киосков, где вы хотите запретить пользователям выходить из системы.

MSDN Magazine недавно опубликовал статью об этом, которая может показаться вам интересной: http://msdn.microsoft.com/en-us/magazine/cc163803.aspx

6 голосов
/ 28 декабря 2010

В Windows Ctrl + Alt + Del комбинация обрабатывается процессом Winlogon. Вы не можете вмешиваться в это по соображениям безопасности.

3 голосов
/ 28 декабря 2010

Вы должны написать свой собственный msgina.dll ;это не простая задача, но, выполнив ее, вы сможете контролировать гораздо больше, чем просто Ctrl + Alt + Del .

0 голосов
/ 29 декабря 2010

Ctrl + Alt + Del - системная горячая клавиша, зарегистрированная процессом winlogon в ранних версиях Windows (то есть 2000 / XP до SP1).Вы не можете отменить регистрацию или перехватить сообщение WM_HOTKEY (по крайней мере, не безопасным способом).Понятно, что ОС предпочитает операционную систему (в частности, процесс Winlogon), а не стороннюю программу для получения пароля пользователя, но хочет быть гибкой в ​​случае, если пользователь хочет пройти аутентификацию с помощью отпечатка пальца, смарт-карты и т. Д. readподробнее здесь .

В Windows 2000 / XP официальный способ настройки входа в систему заключается в написании собственной Джины (подробно описано в статье, приведенной в ответе ig2r), но Джина может конфликтовать друг с другом (например,В ноутбуке Think Pad с входом по отпечатку пальца возникают проблемы с McAfee Safeboot, pcAnywhere и т. Д.).Джина ушла в Vista.

В Windows Vista или более поздней версии вы можете настроить вход в систему поставщик учетных данных .Его расширяемость ограничена, но вы все равно получаете HWND через ICredentialProviderCredentialEvents :: OnCreatingWindow на тот случай, если вы хотите отобразить диалог в ответ на события провайдера учетных данных.Документированный способ использовать HWND в качестве владельца вашего диалога (будь то win32 или MFC или что-то еще).

Конечно, всегда есть подход фильтра драйвера клавиатуры , , если вы знаете разработку драйвераи пользовательский режим связи в режиме ядра для каждой версии Windows. Вы можете даже заблокировать всю клавиатуру, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...