Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Вниз

Горячие клавищи   Найти похожие ветки 

 
Лариса   (2004-12-07 12:11) [0]

Здравствуйте программеры!
Подскажите, пожалуйста, как мне сделать чтоб горячие клавищи моего приложения работали даже тогда когда мое окно не активно, или сидит в трее.
Зараннее благодарна.


 
Лариса   (2004-12-07 12:47) [1]

неужели никто не знает?


 
chelovek   (2004-12-07 13:11) [2]

Знаб только что надо регистрировать горячую клавишу в системе:
RegisterHotKey а при выходе программы разрегистрировать:
UnregisterHotKey .


 
Vit@ly ©   (2004-12-07 13:14) [3]

А если Ваши горячие клавиши сидят в таком же, похожем на Ваше (прикладном) приложение? Что делать в этом случае? Кому отдать приоритет?


 
chelovek   (2004-12-07 13:20) [4]

Кажется кто последний зарегистрировал тот и получит управление, но при регистрации вернет ли управление тому у кого было зарегистрировано раньше?


 
TUser ©   (2004-12-07 13:23) [5]


> Кажется кто последний зарегистрировал тот и получит управление,
> но при регистрации вернет ли управление тому у кого было
> зарегистрировано раньше?

Хуки выстраиваются в цепочку. Добрые программисты передают управление следующему хуку


 
chelovek   (2004-12-07 13:27) [6]

Передавать хук в ручную или система сама отследит?
Надо попробовать.


 
Лариса   (2004-12-07 13:43) [7]

Мне надо чтобы в моем приложении по нажатию определенных клавищ сделать паузу, т.е. остановить в моей программе таймер


 
Sphinx   (2004-12-07 14:02) [8]

> Лариса   (07.12.04 13:43) [7]

Так Вам про это и говорят. Поставте хук на клавиатуру (в соседней ветке WinAPI кажется даже где-то пример был) и считывайте нажатие клавишь.

> Передавать хук в ручную или система сама отследит?

Передавать вручную, система сама не отслеживает.


 
Лариса   (2004-12-07 14:07) [9]

Sphinx   (07.12.04 14:02) [8]

если пример есть дай пожалуйста, буду благодарна


 
Digitman ©   (2004-12-07 14:12) [10]


> Лариса   (07.12.04 13:43) [7]
> Мне надо чтобы в моем приложении по нажатию определенных
> клавищ


по-чукотски задачу ставишь - по-чукотски и рекомендацию получаешь.

твой вопрос д.б. прозвучать так :

"я хочу, чтобы при  нажатии опред. клавиши или опред.комбинации клавиш мое приложение получало извещение об этом, с инф-цией о кодах, ВНЕ зависимости от того, какое окно в этот момент имеет фокус ввода"


 
Leonid Troyanovsky   (2004-12-07 14:17) [11]


> Vit@ly ©   (07.12.04 13:14) [3]
> А если Ваши горячие клавиши сидят в таком же, похожем на
> Ваше (прикладном) приложение? Что делать в этом случае?
> Кому отдать приоритет?


This function cannot associate a hot key with a window created by another thread.

RegisterHotKey fails if the keystrokes specified for the hot key have already been registered by another hot key.

If the window identified by the hWnd parameter already registered a hot key with the same identifier as that specified by the id parameter, the new values for the fsModifiers and vk parameters replace the previously specified values for these parameters.

--
С уважением, LVT.


 
Sphinx   (2004-12-07 14:20) [12]

http://delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621066&n=15
http://delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621797&n=15
http://delphimaster.net/view/4-1101719727/

за две минуты на этом форуме :)
а что будет если подключить Яндекс? ;)


 
Leonid Troyanovsky   (2004-12-07 14:21) [13]


> Лариса   (07.12.04 13:43) [7]
> Мне надо чтобы в моем приложении по нажатию определенных
> клавищ сделать паузу, т.е. остановить в моей программе таймер


The RegisterHotKey function defines a system-wide hot key.

Т.е., регистрируешь его, а в обработчике своей формы

procedure WMHotKey (var msg: TWMHotKey); message WM_HOTKEY;

делаешь нужную работу.

--
С уважением, LVT.


 
Лариса   (2004-12-07 14:33) [14]

Спасибо мальчики! :)


 
Digitman ©   (2004-12-07 15:32) [15]


> Спасибо


This function cannot associate a hot key with a window created by another thread

!!!


 
Leonid Troyanovsky   (2004-12-07 20:38) [16]


> Digitman ©   (07.12.04 15:32) [15]

> This function cannot associate a hot key with a window created
> by another thread


Ну, дык планировалось-то снабдить оным свое приложение,
поэтому вставиться в нужный поток проблем нет.

--
С уважением, LVT.



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

Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.054 c
3-1100762606
Term
2004-11-18 10:23
2004.12.19
Автоинкремент своими руками


1-1101997170
REA
2004-12-02 17:19
2004.12.19
Быстрый вывод Bitmap


1-1101912857
SergeyDon
2004-12-01 17:54
2004.12.19
получить координаты иконок на рабочем столе.


3-1100370184
integer
2004-11-13 21:23
2004.12.19
как получить разницу двух таблиц


1-1101985367
PURGEN
2004-12-02 14:02
2004.12.19
Форма





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский