Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Как отслеживать нажатия кнопок в Windows? (http://forum.oszone.net/showthread.php?t=30074)

Sharkky 21-09-2003 17:32 207130

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

Guest 21-09-2003 22:58 207131

А начем ты пишишь? Если на VC/VB то это довольно просто..

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

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

Sharkky 22-09-2003 07:42 207132

VC, можете поточнее?...

Guest 23-09-2003 22:29 207133

неуверин что это то, но направить оно точно может:
http://msdn.microsoft.com/msdnmag/is...c/default.aspx
(это статья с экземплами, в виде вопросов и ответов. Посмотри второй вопрос.)

http://msdn.microsoft.com/library/de...l_hot_keys.asp
помойму это больше подходит.. покрайней мере боли сосркдоточено (страница являет собой начало темы горячих клавиш в мсдиэне)

и немного теории
http://msdn.microsoft.com/library/de...key/hotkey.asp

если ненашол то что искал поищи в списке линков на:
http://search.microsoft.com/search/r...keys&na=30

MrMadman 29-12-2003 03:06 207134

Лови WM_KEYDOWN

ivank 29-12-2003 13:55 207135

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


Время: 11:29.

Время: 11:29.
© OSzone.net 2001-