activex.net.ru

ActiveX .NET SharePoint Утилиты Скрипты Статьи ... Форум

Статьи

Блокировка CTRL+ALT+DEL и ALT+TAB в Windows 95/98 (Visual Basic 6)

По материалам MSDN Library - January 2000.

Иногда возникает необходимость в Visual Basic приложении отключить на время для пользователя возможность использования комбинаций CTRL+ALT+DEL и ALT+TAB. Ниже на примере показано как можно этого добиться.
1. Выберем проект как Standard EXE.
2. Добавим на форму две кнопки CommandButton. Назовем их Command1 и Command2 соответственно.
3. Затем добавим приведенный ниже код.

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.



Copyright © 2000-2017 Христофоров Юрий Rambler's Top100

   Rambler's Top100