Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Блокировка устройств ввода, для НТшек 
:(
    Опции темы
Sunvas
Дата 21.4.2006, 07:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Как заблокировать мышь, клавиатуру полностью?
Также нужно сделать так, чтобы программно все еще можно было двигать курсор и посылать нажатие клавиш приложениям. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
AKN
Дата 21.4.2006, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 11.11.2005

Репутация: нет
Всего: нет



Код

winexec(Pchar('rundll32 keyboard,disable' ) ,sw_Show); Клава OFF 
winexec(Pchar('rundll32 mouse,disable' ) ,sw_Show); Маус OFF  


BlockInput(), живёт в user32.dll 


или пишешь хук на все события от мыши и клавы и тушишь их.

З.Ы. есть такая вот штука - называется Delphi Russian Knowledge Base (DRKB) - хорошая веСЧЬ, там все это есть. Спасибо Vit`у большое...
 
PM MAIL   Вверх
Sunvas
Дата 22.4.2006, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(AKN @  21.4.2006,  08:32 Найти цитируемый пост)
2:    
winexec(Pchar('rundll32 keyboard,disable' ) ,sw_Show); Клава OFF  
winexec(Pchar('rundll32 mouse,disable' ) ,sw_Show); Маус OFF  

А включить?

Цитата(AKN @  21.4.2006,  08:32 Найти цитируемый пост)
BlockInput(), живёт в user32.dll 

Фигня - системные кнопки не блокирует.

Цитата(AKN @  21.4.2006,  08:32 Найти цитируемый пост)
или пишешь хук на все события от мыши и клавы и тушишь их.

А программно тогда как двигать курсор мыши или нажимать кнопки другому приложению?


 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Yanis
Дата 22.4.2006, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 13
Всего: 111



Цитата(Sunvas @  22.4.2006,  07:08 Найти цитируемый пост)
А программно тогда как двигать курсор мыши или нажимать кнопки другому приложению?

Смотри в MSDN информацию по использованию mouse_eventkeybd_event


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Sunvas
Дата 23.4.2006, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Yanis @  22.4.2006,  07:44 Найти цитируемый пост)
Смотри в MSDN информацию по использованию mouse_event, keybd_event. 

Это я знаю как. Просто если хучить клавиатуру и мышь, то и программным способом эмитация нажатия клавиш не получится. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Rouse_
Дата 23.4.2006, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



Ставишь WH_KEYBOARD_LL, WM_MOUSE_LL. Смотришь если идет сообщение для нужно программы - пропускаешь вызов дальше, если нет - не пропускаешь. Библиотеки не нужно, работает начиная с 2000 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Sunvas
Дата 24.4.2006, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Rouse_ @  23.4.2006,  08:53 Найти цитируемый пост)
если идет сообщение для нужно программы

Нужно определить не куда идут сообщения, а откуда они исходят: если напрямую с клавиатуры - то блокировать, а если от программы, то разрешать. Как это сделать? smile  


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0728 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.