Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-1122644308
Destroyer
2005-07-29 17:38
2005.08.21
Как из статического массива сделать динамический?


14-1122644916
Nick Denry
2005-07-29 17:48
2005.08.21
Народ, а как правильно создать


9-1114458647
NotBeginner
2005-04-25 23:50
2005.08.21
Opengl engine


1-1122368423
Dust
2005-07-26 13:00
2005.08.21
Создание логов


14-1122622157
WondeRu
2005-07-29 11:29
2005.08.21
Перевод программы на иностранные языки




   Наверх