Форум — Ответы ( К темам )
? | Андрей: горячие клавиши со скрытым приложением (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 "коды виртуальных клавиш" и найдешь эту таблицу) Какая клавиша была нажата или отпущена передается в паратметрах функции обработки хука. В общем идея такая. Если чего не получится пиши в форум или на мыло я тебе код напишу. |