Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Блокирование клавиатуры


Автор: GaLL 29.1.2004, 20:42


Подскажите пожалуйста, как блокировать клавиатуру на Delphi.
за ранее спасибо

Автор: Pakshin A. S. 29.1.2004, 20:48
1) Поставить хук (реализацию не знаю)
2)
Блокировка ввода информации:
Код

asm
  push 1
  call BlockInput
end;

Разблокировка:
Код

asm
  push  0
  call BlockInput
end;

Автор: Pakshin A. S. 29.1.2004, 20:51
Для полного отключения надо убирать Ctrl+Alt+Del, но это не везде сработает:
Код

  SystemParameterInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0); // Выкл.
  SystemParameterInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0); // Вкл.

Автор: December 29.1.2004, 23:06
Это всё 95/98/Me...

Автор: Полудненко Олег 29.1.2004, 23:21
winexec(Pchar('rundll32 keyboard,disable' ) ,sw_Show); Клава OFF
winexec(Pchar('rundll32 mouse,disable' ) ,sw_Show); Маус OFF

Автор: Pathfider 14.7.2004, 17:29
Полудненко Олег работает только в Win 95/98/Me в XP, NT не пройдет!!!

Автор: Guest 2.8.2004, 15:39
Цитата(Pakshin @ 29.1.2004, 20:48)
Блокировка ввода информации:
Код

asm
  push 1
  call BlockInput
end;

Разблокировка:
Код

asm
  push  0
  call BlockInput
end;

Я пробую прописывать твой код, но компилятор ругается на BlockInput. Какой модуль для него надо указать?

Автор: Pakshin A. S. 2.8.2004, 18:11
Всегда работало в модуле формы, созданном автоматически... sad.gif
Ничего, вроде, не прописывал...
Добавлено @ 18:14
Sorry, забыл само главное!!! wink.gif
Код

procedure BlockInput; external 'user32.dll';

Автор: Dr.Death 2.8.2004, 19:29
Надо просто запретить прерывание от клавы, делается просто на асме, надо посмотреть, найду - выложу.

Автор: Иван Грозный 5.8.2004, 16:43
Мне нужно сделать так, чтобы нельзя было переключиться с моего приложения на другое, а еще лучше: заблокировать клаву (и мышь) на остальных приложениях. Как это сделать?

Автор: _hunter 5.8.2004, 17:54
http://forum.vingrad.ru/index.php?showtopic=6916

Автор: Иван Грозный 6.8.2004, 15:13
_hunter, ты давно заглядывал на эту тему? Там ни один файл не качается.

Может, кто знает хотябы, как отключить стандартные сочетания клавиш Винды (кроме CAD)?

Автор: _hunter 6.8.2004, 17:17
ну так к Step' у постучись -- глядиш даст ссылку

P.S.
Заглядывал давно smile.gif

Автор: Pakshin A. S. 6.8.2004, 17:17
Под NT-подобных версиях не покатит:
Мой ASM-код или версия Полудненко Олег'а + отключение Alt+Ctrl+Del + отключение (хоть и не обязятельное) Alt+Tab:
Код

SystemParametersinfo(SPI_SETFASTTASKSWITCH, 1 {0 - включение}, 0, 0);

Автор: Иван Грозный 9.8.2004, 12:24
Этот код у меня не работает. Есть что другое?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)