Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.21;
Скачать: CL | DM;

Вниз

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

 
TerminalHead   (2005-08-04 09:44) [0]

Мне нужно назначить горячие клавишы для моего приложения - консольная программа без формы, должна быть сервисом.
Пока что никак не могу понять куда это все написать чтобы оно работало, до этого в программах с формой применял этот код, но тут все по другому...
Помогите пожалуйста

//В обработчике события OnCreate
//основной формы создаём горячую клавишу:

if not RegisterHotkey(Handle, 1, MOD_ALT or MOD_SHIFT, VK_F9) then
 ShowMessage("Unable to assign Alt-Shift-F9 as hotkey.");

//В событии OnClose удаляем горячую клавишу:
UnRegisterHotkey( Handle, 1 );

//Добавляем обработчик в форму для сообщения
//WM_HOTKEY:

private // в секции объявлений формы
 procedure WMHotkey( var msg: TWMHotkey ); message WM_HOTKEY;

procedure TForm1.WMHotkey( var msg: TWMHotkey );
begin
 if msg.hotkey = 1 then
 begin
   if IsIconic( Application.Handle ) then
     Application.Restore;
   BringToFront;
 end;
end;


 
Digitman ©   (2005-08-04 09:47) [1]


> без формы


??

А TForm1 это что ? Не форма ли как раз ?


> консольная программа .. должна быть сервисом


это как ?


 
Digitman ©   (2005-08-04 09:52) [2]

если программа не создает никаких окон, то регистрация гор.клавиши должна осуществляться по иному :

if not RegisterHotkey(0, ..) then ..

в этом случае сообщение WM_HOTKEY будет посылаться системой в очередь сообщений того трэда, который вызывал ф-цию RegisterHotkey() ... и трэд этот, соответственно, должен организовать цикл ожидания/выборки/диспетчеризации адресованых ему сообщений, в т.ч. и WM_HOTKEY


 
evvcom ©   (2005-08-04 09:53) [3]

А нас в первом классе учили: "Жи-ши пиши с буквой "и"!"



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

Текущий архив: 2005.08.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.091 c
3-1121057190
Andrey V.
2005-07-11 08:46
2005.08.21
про UNION ...


1-1122616813
Viktop
2005-07-29 10:00
2005.08.21
Вопрос по DevExpress


6-1115462843
Sir
2005-05-07 14:47
2005.08.21
List + Port в FTp протоколе


1-1123017490
iskatel
2005-08-03 01:18
2005.08.21
прокси, попытка 2 ))


1-1122583733
Katya21
2005-07-29 00:48
2005.08.21
Memo Richedit и Steam