Блокировка CTRL+ALT+DEL и ALT+TAB в Windows 95/98
Иногда возникает необходимость в Visual Basic приложении отключить на время для пользователя возможность использования комбинаций CTRL+ALT+DEL и ALT+TAB. Ниже на примере показано как можно этого добиться.
- Выберем проект как Standard EXE.
- Добавим на форму две кнопки CommandButton. Назовем их Command1 и Command2 соответственно.
- Затем добавим приведенный ниже код.
Private Const SPI_SCREENSAVERRUNNING = 97& Private Declare Function SystemParametersInfo Lib "User32" _ Alias "SystemParametersInfoA" _ (ByVal uAction As Long, _ ByVal uParam As Long, _ lpvParam As Any, _ ByVal fuWinIni As Long) As Long Private Sub Form_Load() Command1.Caption = "Отключить комбинации !" Command2.Caption = "Включить комбинации !" End Sub Private Sub Form_Unload(Cancel As Integer) 'Восстановить возможность использ. комбинаций CTRL+ALT+DEL и ALT+TAB Command2_Click End Sub Private Sub Command1_Click() Dim lngRet As Long Dim blnOld As Boolean lngRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, _ blnOld, _ 0&) End Sub Private Sub Command2_Click() Dim lngRet As Long Dim blnOld As Boolean lngRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, _ blnOld, _ 0&) End Sub
Весь секрет работы программы в использовании Win32 API функции SystemParametersInfo. Меняя второй параметр этой функции в True или в False можно добиться нужного результата. Т.е. True - соответствует ОТКЛЮЧИТЬ, а False - ВКЛЮЧИТЬ возможность использования комбинаций CTRL+ALT+DEL и ALT+TAB. В нашем примере нажимая кнопки "Отключить !" и "Включить !" можно блокировать и разблокировать использование комбинаций CTRL+ALT+DEL и ALT+TAB.
Оставить комментарий
Оставлять комментарии могут только зарегистрированные пользователи.
Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.


