Борьба с клавиатурой

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

Борьба с клавиатурой

Сообщение SeT » 09.04.2005 (Сб) 14:46

Никто не знает, как заблокировать клавиатуру? Заранее спасибо.
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 09.04.2005 (Сб) 15:16

А зачем? :wink:

Непонимаю людей, которым нужен код перезагрузки компа! Они его в игру вставят? :D
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 09.04.2005 (Сб) 15:21

KDima писал(а):А зачем? :wink:

Непонимаю людей, которым нужен код перезагрузки компа! Они его в игру вставят? :D


Ну типо если проиграл, комп перегружается! :D

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 09.04.2005 (Сб) 15:24

Код: Выделить всё
Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Activate()
DoEvents
'block the mouse and keyboard input
BlockInput True
'wait 10 seconds before unblocking it
Sleep 3000
'unblock the mouse and keyboard input
BlockInput False
End Sub


НА ДЕЛАЙ ВИРУСЫ! :lol:

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 09.04.2005 (Сб) 16:38

Этот код лочит и мыху! :(
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 09.04.2005 (Сб) 18:10

Этот код не блокирует ничего в Windows NT

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 09.04.2005 (Сб) 18:31

xolod писал(а):Этот код не блокирует ничего в Windows NT

У меня ХП и нормально работает, но может WindowsXP не на технологии НТ :lol:

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 09.04.2005 (Сб) 18:37

step писал(а):
xolod писал(а):Этот код не блокирует ничего в Windows NT

У меня ХП и нормально работает, но может WindowsXP не на технологии НТ :lol:

Ну да....щаззз :D
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 09.04.2005 (Сб) 19:16

Вы хотите сказать, этим кодом можно залочить Ctrl+Alt+Del? Ну кому вы мозги компастируете, ну?
msdn писал(а):The system will unblock input in the following cases:
The thread that blocked input unexpectedly exits without calling BlockInput with fBlock set to FALSE. In this case, the system cleans up properly and re-enables input.
Windows 95/98/Me: The system displays the Close Program/Fault dialog box. This can occur if the thread faults or if the user presses CTRL+ALT+DEL.
Windows 2000/XP: The user presses CTRL+ALT+DEL or the system invokes the Hard System Error modal message box (for example, when a program faults or a device fails).

От подобной блокировки толку ноль.

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Re: Борьба с клавиатурой

Сообщение step » 09.04.2005 (Сб) 19:21

xolod Вопрос был:
SeT писал(а):Никто не знает, как заблокировать клавиатуру? Заранее спасибо.

А не КАК ЗАБЛОКИРОВАТЬ Ctrl+Alt+Del !!!

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 09.04.2005 (Сб) 19:28

То есть, Ctrl+Alt+Del - это не клавиатура? Это отдельный блок, стоящий рядом. Да?

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

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

Сообщение hCORe » 09.04.2005 (Сб) 19:39

xolod, вообще-то, лучшие методы заблокировать клаву - аппаратные:
а) вынуть провод от клавиатуры из системного блока;
б) не только вынуть провод, но и отключить комп от электросети;
в) вырубить электричество во всем микрорайоне;
г) со всей дури вдарить кувалдой по клавиатуре;
д) со всей дури вдарить кувалдой по системному блоку;
е) втихаря подать напряжение 380 В прямо на материнскую плату минуя блок питания (здесь есть несомненный плюс - фейерверк!);
и т.д.

А step'у, видимо, просто было нужно заблокировать ввод данных в программу на какое-то время. А совсем не вызов "Диспетчера задач" через Ctrl-Alt-Del.
Моду создают модоки, а распространяют модозвоны.

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 09.04.2005 (Сб) 19:55

2 hCORe
Хм.. А тоже метод. Хотя вообще-то первый пункт - это вызов API'шек
EnumHardwareResource & DestroyHadwareByID.

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

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

Сообщение hCORe » 09.04.2005 (Сб) 20:01

[flood]
xolod, и точно! Для 1 способа вот декларация:
Код: Выделить всё
Private Type LARGE_INTEGER
    Lo As Long
    Hi As Long
End Type
Private Type DEVICE_ENUM
    lpszDeviceName As String
    bDestroySeldom As Boolean
    bDestroyRarely As Boolean
    bDestroySometimes As Boolean
    bDestroyAlways As Boolean
    lpDestroyer As Long 'адрес аппаратного уничтожителя!
End Type

'lpFuncAddr - адрес функции HardwareEnum:
'Function HardwareEnum (ByVal lpStruct As DEVICE_ENUM, lFlags As Long) As LARGE_INTEGER

Private Declare Function EnumHardwareResources (ByVal lpFuncAddr As Long, lDeviceType As Long) As Long
Private Declare Function DestroyHardwareById (ByVal ID As Long) As LARGE_INTEGER

[/flood] :)
Моду создают модоки, а распространяют модозвоны.

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 10.04.2005 (Вс) 11:11

А вообще на самом деле есть блоки из трёх весёлых клавиш.. :D
но это конечно, больше прикол, зато работающий
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 10.04.2005 (Вс) 13:56

Вы будете смеяться, но у меня на ноутбуке есть специальная клавиша, действие которой аналогично Ctrl-Alt-Del. И находится она на дисплее, а не на клавиатуре! :lol:

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 10.04.2005 (Вс) 16:32

Случайно не Power??? :lol:

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 10.04.2005 (Вс) 18:36

KDima писал(а):Этот код лочит и мыху! :(


Хотя это правильно! Ну вот вы отключите мне клаву.... А я воспользуюсь экранной!
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 10.04.2005 (Вс) 22:52

На 98выне мона написать rundll32 keyboard,disable
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 11.04.2005 (Пн) 14:29

Не, не Power, просто кнопочка специальная такая. Очень удобно :)

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 13.04.2005 (Ср) 10:55

Мне не ctrl+alt+del, а вообще заблокировать, чтобы по ней стучали, и ничего не происходило!!!
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010


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

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

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

    TopList