www.minetki.biz.
C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как отследить нажатие клавиши.
Fred
Отправлено: 07.06.2003, 18:31


Ученик-кочегар

Группа: Участник
Сообщений: 19



Как сделать так чтобы программа реагировала на нажатие клавиши (или комбинации клавиш) независимо от того какое приложение в данный момент активно ?
Для примера, те кто пользуются ICQ, могут проверить, что комбинация Ctrl+Shift+E отлавливается Аськой независимо от приложения в котором в данный момент работаешь. Хотелось бы сделать нечто подобное.

С уважением, Fred.

Admin
Отправлено: 08.06.2003, 20:46


Владимир

Группа: Администратор
Сообщений: 1190



Похожая тема была несколько раньше, есть в архиве форума

Нужно создать хук, поместить в DLL.


Sl@Sh
Отправлено: 26.07.2004, 07:59


Мастер участка

Группа: Участник
Сообщений: 383



Попробуй использовать GetAsyncKeyState(int Key);

Каждой клавише соответствует определённый код.
Отсылаю тебе коды клавиш, а выглядит это так :

1)Положи на форму таймер
2)Интервал таймера сделай равным 1 (или другой, но меньше секунды!)
3)В событии OnTimer() :


int Key;
if (GetAsyncKeyState(Key)!=0)
{
...
}

Отредактировано Sl@Sh — 27/07/2004, 03:30

User Attached Image Скачать файл
keys.htm



Вернуться в Вопросы программирования в C++Builder