Войти

Показать полную графическую версию : Как отслеживать нажатия кнопок в Windows?


Sharkky
21-09-2003, 17:32
Собственно проблема описанна в заголовке топика. Чего я хочу? Мне жутко не нравиться, что в Windows необходимо для создания "горячих клавиш" обязательно заводить ярлык, притом не где-нибудь, а только на рабочем столе или в меню "Пуск".
Существует ли способ в своей программе получать все сообщения об нажатии клавиш, для любого активного окна?
Или другая формулировка этого вопроса: Как узнать какое окно в данный момент активно, и как получать его соообщения.

Guest
21-09-2003, 22:58
А начем ты пишишь? Если на VC/VB то это довольно просто..

В VB можно найти как это делать через API (честно говоря точно не знаю но могу отправеть по адресу www.vbexplorer.com там наверняка что то готовое есть..)  

А если в VC  могу и поточнее...

Sharkky
22-09-2003, 07:42
VC, можете поточнее?...

Guest
23-09-2003, 22:29
неуверин что это то, но направить оно точно может:
http://msdn.microsoft.com/msdnmag/issues/1200/c/default.aspx
(это статья с экземплами, в виде вопросов и ответов. Посмотри второй вопрос.)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/_core_global_hot_keys.asp
помойму это больше подходит.. покрайней мере боли сосркдоточено (страница являет собой начало темы горячих клавиш в мсдиэне)

и немного теории
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/hotkey/hotkey.asp

если ненашол то что искал поищи в списке линков на:
http://search.microsoft.com/search/results.aspx?View=msdn&p=1&s=1&c=4&st=a&qu=hot+keys&na=30

MrMadman
29-12-2003, 03:06
Лови WM_KEYDOWN

ivank
29-12-2003, 13:55
Sharkky
Хук на клавиатуру ставь. Например: http://ivank.ru/trash/KeyHooker.zip - меняет нажатие кэпса на контрол. Правда с DirectInput'ом не работает, а как следствие и в игрушках. Код, вообще говоря, кривой, но не в части относящейся к поимке нажатия клавиш :), а только в их обработке.




© OSzone.net 2001-2012