Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 11
Модератор форума: stalker, Admin 
Форум » Все о Delphi » Операционная система и железо » Как сделать, чтобы система игнорировала нажатие нек. клавиш? (Давно вопрос...)
Как сделать, чтобы система игнорировала нажатие нек. клавиш?
DJ_ЕвсДата: Суббота, 07.02.2009, 00:32 | Сообщение # 1
Ранг 6
Группа: Проверенные
Сообщений: 165
Награды: 3
Репутация: 1
Статус: Offline
Вот думаю, как реализовать... Надо типа, чтобы нажимаешь кнопку "Windows", а ничего не происходит! Прога не сворачивается, фокус не меняется, "Пуск" не вылазит!

ПРОЙДИ ТЕСТ!!!!!
http://FIDO20.ru/test.php?4052&c=bbea2a1

 
C0ffe1nДата: Суббота, 07.02.2009, 01:56 | Сообщение # 2
Ранг 3
Группа: Проверенные
Сообщений: 11
Награды: 0
Репутация: 1
Статус: Offline
Для этого тебе надо глобальные хуки курить wink

Опыт - это то, что получаешь, не получив того, что хотел...
http://z.alko-net.ru - ZBlog. Блог о программировании и не только.
 
AdminДата: Суббота, 07.02.2009, 11:13 | Сообщение # 3
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Верно! Я такое не разу не делал, но нужно ставить глобальный хук на клавиатуру и перехватывать сообщения. Так понимаю если поймал то что нужно, просто не передавать по цепочке дальше. Тема не простая, придется библиотечку писать. smile Я гляну, время будет.

Не оказываю помощь через личные сообщения и ICQ
 
C0ffe1nДата: Суббота, 07.02.2009, 12:43 | Сообщение # 4
Ранг 3
Группа: Проверенные
Сообщений: 11
Награды: 0
Репутация: 1
Статус: Offline
Я тоже сейчас занять, но могу дать совет почитать книгу Фленова "Delphi глазами Х...". Более или менее толково написано, но в том примере отлавливается нажатие кнопки мыши и CTRL.

P.S. Ну а для общего развития почитай Рихтера. Скачать.


Опыт - это то, что получаешь, не получив того, что хотел...
http://z.alko-net.ru - ZBlog. Блог о программировании и не только.


Сообщение отредактировал C0ffe1n - Суббота, 07.02.2009, 12:47
 
MegaMenДата: Воскресенье, 08.02.2009, 15:31 | Сообщение # 5
Ранг 5
Группа: Проверенные
Сообщений: 47
Награды: 0
Репутация: 5
Статус: Offline
можно пойти извратным способом..

узнаем что нажата клавиша win (getasynckeystate вроде) и после делаем следующее по порядку:

1. нажимаем esc (vk_escape)
2. form.show (возвращаем форму обратно)
3. setfocus (меняем фокус)

вот это сия извращение..

p.s. хотя я думаю form.show даже лишнее..

можно поступить даже так:

1. нажимаем esc (vk_escape) //убираем контекстное меню пуск
2. фокус
3. нажимем enter (vk_return) // разворачиваем из панели задач программу (фокус ведь на нашей программе)


Чтобы добиться цели, надо прежде всего её добиваться.

Сообщение отредактировал MegaMen - Воскресенье, 08.02.2009, 15:32
 
DJ_ЕвсДата: Понедельник, 09.02.2009, 00:33 | Сообщение # 6
Ранг 6
Группа: Проверенные
Сообщений: 165
Награды: 3
Репутация: 1
Статус: Offline
MegaMen, я уж думал сделать что-то такое... Только сколько не думал, не получалось. Причина в том, что я просто не знаю, как заставить винду думать, что кто-то нажал "Escape".

ПРОЙДИ ТЕСТ!!!!!
http://FIDO20.ru/test.php?4052&c=bbea2a1

 
Форум » Все о Delphi » Операционная система и железо » Как сделать, чтобы система игнорировала нажатие нек. клавиш? (Давно вопрос...)
Страница 1 из 11
Поиск:

Copyright DelphiDevelop.ru © 2008-2018
Хостинг от uCoz