Как заблокировать клавиатуру.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Gothic
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 13.07.2006 (Чт) 8:49

Как заблокировать клавиатуру.

Сообщение Gothic » 13.07.2006 (Чт) 8:56

Здорово!
Подскажите пожалуйста, как в VB заблокировать клаву в програмном коде.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 13.07.2006 (Чт) 9:04

BlockInput

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 13.07.2006 (Чт) 9:05

alt+ctrl+del не заблокируешь никак.
Лучший способ понять что-то самому — объяснить это другому.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 13.07.2006 (Чт) 9:54

WinKey+L

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 13.07.2006 (Чт) 10:22

Antonariy писал(а):alt+ctrl+del не заблокируешь никак.

Блокируется... Но нужны админские права.
Изображение

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 13.07.2006 (Чт) 10:29

keks-n, код напиши, а не мели чепуху.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.07.2006 (Чт) 10:32

Он поди про всякие драйвера-фильтры клавы.
Изображение

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 13.07.2006 (Чт) 10:33

Про Win98 и ниже MSDN писал(а):SUMMARY
You can prevent the CTRL+ALT+DEL and ALT+TAB key combinations from opening a task list in Windows 95 or Windows 98 by calling the SystemParametersInfo function in the Win32 API. A step-by-step example of this appears below.

NOTE: This is possible only in Windows 95 or Windows 98



MORE INFORMATION
Sometimes it is necessary for a program to prevent the use of the CTRL+ALT+DEL key combination to open the Close Program task list to end a task or shut down Windows 95 or Windows 98 and to prevent the use of the ALT+TAB key combination to switch tasks. The following technique uses the SystemParametersInfo API to trick Windows 95 or Windows 98 into thinking that a screen saver is running. As a side effect, CTRL+ALT+DEL and ALT+TAB are disabled.

The Win32 SDK states:


"SPI_SCREENSAVERRUNNING Windows 95: Used internally; applications should not use this flag. Windows NT: Not supported."

Note that disabling CTRL+ALT+DEL is not recommended because the Close Program dialog box was created to enable users to terminate misbehaving applications. If a program "hangs" while CTRL+ALT+DEL is disabled, it may not be possible to terminate it by any method other than rebooting the computer, which could result in the loss of data. Also, this technique may not work in future versions of Windows.

Step-by-Step Example
Start a new Standard EXE project. Form1 is created by default.


Add two CommandButton controls (Command1 and Command2) to Form1.


Add the following code to the General Declarations section of Form1:



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 = "Disabled"
Command2.Caption = "Enabled"
End Sub

Private Sub Form_Unload(Cancel As Integer)
'Re-enable CTRL+ALT+DEL and ALT+TAB before the program terminates.
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

Press the F5 key to run the program, and then click the "Disabled" button. CTRL+ALT+DEL and ALT+TAB are disabled. Click the "Enabled" button to enable CTRL+ALT+DEL and ALT+TAB again.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 13.07.2006 (Чт) 10:46

Amed писал(а):keks-n, код напиши, а не мели чепуху.

Не мой правда, но...
http://bbs.vbstreets.ru/viewtopic.php?p=6612117#6612117
Изображение


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 94

    TopList