Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как перехватить нажатие Ctrl+Alt+Del

Delphi , Файловая система , DLL и PlugIns

Как перехватить нажатие Ctrl+Alt+Del

Автор: Watcher

3 кнопки, которые потрясли DOS

В WinNT есть Dll называемая GINA DLL. Так вот - это Dll, которая отвечает за вход юзера в систему и другие вещи. Например то окошко которое показываеться при нажатии ctrl+alt+del... Эту Dll Microsoft сделал заменяемой - то есть можна написать свою и заменить весь процесс входа юзера в систему. Так, например, делает Novell Netware. Gina Dll экспортирует примерно 15 функций, которые нужно описать. Одна из них вызывается WinLogon в ответ на нажатие ctrl+alt+del. В нашем случае можна сделать Dll которая все вызовы переадресовует стандартной (msgina.dll), а тот который нам нужно написать самому. Хэлп есть в MSDN. Там такжэ есть экзампл готовой Dll и StubDll.

Переопределение классического "Ctrl+Alt+Del"!

Автор Watcher ссылается на DLL GINA (Graphical Identification and Authentication) в Windows NT, которая обрабатывает вход пользователя и другие системные задачи. В частности, она отвечает за отображение диалогового окна "Security Options", когда нажимается комбинация клавиш Ctrl+Alt+Del.

Для перехвата этой комбинации клавиш можно создать custom GINA DLL, которая переопределяет стандартное поведение. Это涉ывает реализацию 15 функций, экспортируемых из DLL GINA, которые описаны в документации MSDN. Один из этих функций вызывается WinLogon в ответ на нажатие клавиш Ctrl+Alt+Del.

Создание custom GINA DLL позволяет перенаправить все вызовы к стандартному msgina.dll и реализовать свою логику для обработки комбинации клавиш.

Для тех, кто интересуется более подробно, документация MSDN предоставляет примеры как полноценной GINA DLL, так и stub-DLL. Это может служить полезным началом для создания custom-решения.

Вотrough outline шагов:

  1. Создайте новый проект Dynamic Link Library (DLL) в Visual Studio.
  2. Экспортируйте требуемые функции из DLL, как указано в документации MSDN.
  3. Реализуйте функцию DllMain для инициализации и очистки ресурсов.
  4. В функции DllEntryPoint зарегистрируйте GINA DLL с помощью функции GINA_Setup.
  5. Напишите custom-логику для обработки нажатия комбинации клавиш Ctrl+Alt+Del в функции GINA_ProcessKey.

Следуя этим шагам и используя предоставленные примеры, можно успешно создать custom GINA DLL, которая перехватывает комбинацию клавиш Ctrl+Alt+Del.

Как перехватить нажатие Ctrl+Alt+Del, описывая процесс создания собственнойGINA DLL, которая может переадресовывать вызовы стандартной msgina.dll.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: DLL и PlugIns ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 21:27:52/0.0074231624603271/2