Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.09;
Скачать: CL | DM;

Вниз

Как отследить нажатие определенной клавиши?   Найти похожие ветки 

 
Tenrai   (2003-03-30 07:55) [0]

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

ActivateKeyboardLayout(HKL_NEXT, KLF_REORDER);

Заранее спасибо


 
Song ©   (2003-03-30 10:40) [1]

SetWindowsHookEx()


 
Tenrai   (2003-03-31 03:14) [2]

Большое спасибо, но нельзя ли поподробнее? Дело в том, что это мой первый опыт написания проги без форм, да и в АПИ я не силен. Существуют флаги wm_SysKeyDown и wm_KeyUp, их, как я понял, и надо использовать. как связать их с указанной функцией и какие указать параметры?


 
Tenrai   (2003-04-04 02:10) [3]

... и тишина ...


 
Almaz ©   (2003-04-06 00:30) [4]


> Tenrai (31.03.03 03:14)
> Большое спасибо, но нельзя ли поподробнее? Дело в том, что
> это мой первый опыт написания проги без форм, да и в АПИ
> я не силен. Существуют флаги wm_SysKeyDown и wm_KeyUp, их,
> как я понял, и надо использовать. как связать их с указанной
> функцией и какие указать параметры?

Тут все несколько сложнее - так как вам необходимо отлавливать нажатие клавиши глобально, в рамках всей системы, то для этого вам необходимо использовать глобальные ловушки (глобальные хуки). Для ознакомления с данной технологией отсылаю вас к статье на этом сайте: http://delphi.mastak.ru/articles/hooks/index.html
Прочитайте ее, и если останутся вопросы, то я постараюсь на них ответить.

Удачи.


 
kerrik ©   (2003-04-06 13:13) [5]

Можно попробовать без использования ловушки... Есть такая функция GetAsyncKeyState... Если нужно подробнее, пишите на мыло...



Страницы: 1 вся ветка

Текущий архив: 2003.06.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
14-26759
Jackson
2003-05-22 23:10
2003.06.09
Нужна ли баньщику латынь?


1-26530
Navi
2003-05-25 08:50
2003.06.09
Восстановление зарегистрированного расширения


14-26789
KA-87
2003-05-23 22:30
2003.06.09
Работа с майлером...


1-26566
wera
2003-05-28 12:05
2003.06.09
вывод сообщения об ошибке


1-26477
.::D.e.M.o.N.i.X::.
2003-05-29 14:12
2003.06.09
Вопрос по ListView