Ctrl Alt Del

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
13GHOST
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 305
Зарегистрирован: 09.01.2004 (Пт) 12:48

Ctrl Alt Del

Сообщение 13GHOST » 18.01.2004 (Вс) 18:33

Как заблочить сочетание клавиш Ctrl Alt Del и Alt Tab

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

SPI_SCREENSAVERRUNNING

Сообщение hCORe » 18.01.2004 (Вс) 18:48

Если в Win9x - запросто :wink: , ставишь флаг работы программы-заставки:

Код: Выделить всё
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 Const SPI_SCREENSAVERRUNNING = 97&
Public Sub AllowKeys(bParam As Boolean)
    Dim lRetVal As Long, bOld As Boolean
    lRetVal = SystemParametersInfo( _
    SPI_SCREENSAVERRUNNING, bParam, bOld, 0&)
End Sub

Private Sub Form_Load()
    Call AllowKeys(True) 'блокировка сочетаний
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Call AllowKeys(False) 'разблокировка сочетаний
End Sub


или

Код: Выделить всё
'без дополнительной подпрограммы
'Добавь два элемента CommandButton. Первая кнопка блокирует сочетание клавиш, вторая - разрешает.
Const SPI_SCREENSAVERRUNNING = 97
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
(ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Sub Command1_Click()
    Call SystemParametersInfo( _
    SPI_SCREENSAVERRUNNING, True, "1", 0)
End Sub
Private Sub Command2_Click()
    Call SystemParametersInfo( _
    SPI_SCREENSAVERRUNNING, False, "1", 0)
End Sub
Private Sub Form_Unload(Cancel As Integer)
    Call SystemParametersInfo( _
    SPI_SCREENSAVERRUNNING, False, "1", 0)
End Sub


Если в WinNT/2000/XP - невозможно :cry:
(если ты не системный сервис, естественно :twisted:)
Моду создают модоки, а распространяют модозвоны.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 14

    TopList