Главная страница
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.048 c
14-1122532825
Ломброзо
2005-07-28 10:40
2005.08.21
Пологожинкивнык, бэзкысенци...


14-1121606557
default
2005-07-17 17:22
2005.08.21
Насколько полезен бег по утрам?


4-1119600206
officeman
2005-06-24 12:03
2005.08.21
Как скопировать приложение используемое ОС-ой, как его Удалить?


1-1123137944
zorik
2005-08-04 10:45
2005.08.21
Поддерживает ли Win98 экспорт в MS Excel?


1-1122620153
Acid apple
2005-07-29 10:55
2005.08.21
Разные результаты компиляции исходников на разных компах