Форум - Ответы     (  К темам )
 ?  Андрей: горячие клавиши со скрытым приложением (30-04-2003 19:34:22)
Подскажите, как заставить скрытое или минимизированное приложение откликнуться на нажатие комбинации клавиш.
 Matt (08-05-2003 20:44:39)
Привет.

1.Ставишь глобальный хук на события от клавы(нажатия и отпускание клавишь).
2.Заводишь столько переменных-флагов(int, byte, bool — не важно, важно чтобы
эти переменные могли принимать 2 cостояния), сколько у тебя клавишь в hotkey
и присваиваешь им начальное состояние "отпушена"(ну хотя бы 0 ).
3.В процедуре обработки хука проверяешь какая клавиша была нажата или отпущена
и выставляешь свои флаги в соответствии с нажатой клавишей.

Допустим тебе надо hotkey==Ctrl+Shift

Значит условие будет таким:
bool ctrl=false;
bool shift=false;

if (Нажата Сtrl){ctrl=true;}
if (Нажата Shift)&&(ctrl==true){shift=true;}//это что бы Shift+Ctrl не работал
if (Отпущена Сtrl){ctrl=false;}
if(ctrl==true)&&(shift==true){ctrl=false;shift=false;// и обработка hotkey}

Каждая клавиша на клаве имеет свой уникальный код (набери в Rambler'e "коды виртуальных клавиш" и найдешь эту таблицу)
Какая клавиша была нажата или отпущена передается в паратметрах функции обработки хука.

В общем идея такая.
Если чего не получится пиши в форум или на мыло
я тебе код напишу.


support@cbuilder.ru