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

Вниз

Хоткеи в сервисе   Найти похожие ветки 

 
TerminalHead ©   (2005-09-06 21:03) [0]

У меня есть программа которая работает только на хоткеях. Тоесть практически все время она невидима для пользователя и реагирует только на хоткеи. Вот так она выглядит:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Winsvc, Tlhelp32, Shellapi, Unit2, Unit3;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
   procedure FormDestroy(Sender: TObject);
 private
    procedure WMHotkey( var msg: TWMHotkey ); message WM_HOTKEY;
    procedure WMQueryOpen(var Msg: TWMQueryOpen); message WM_QUERYOPEN;
 public
     { Public declarations }
 end;

var
 Form1: TForm1;
 Handle:THandle;
 megacheck1,megacheck2:boolean;
implementation
procedure TForm1.WMQueryOpen(var Msg: TWMQueryOpen);
begin
 Msg.Result := 0;
end;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
const VK_O = 79;
const VK_F = 70;
const VK_D = 65;
begin
 RegisterHotKey(Handle, 66, MOD_CONTROL + MOD_Alt, VK_F);
 RegisterHotKey(Handle, 15, MOD_CONTROL + MOD_Alt, VK_O);
 RegisterHotkey(Handle, 34, MOD_ALT or MOD_CONTROL or MOD_SHIFT, VK_F6);
 RegisterHotkey(Handle, 1111, MOD_ALT or MOD_SHIFT, VK_F11);
 RegisterHotKey(Handle, 89, MOD_Alt, VK_D);
 end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 UnRegisterHotkey( Handle, 34 );
 UnRegisterHotkey( Handle, 15 );
 UnRegisterHotkey( Handle, 1111 );
 UnRegisterHotkey( Handle, 66 );
 UnRegisterHotkey( Handle, 89 );
end;

procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if Msg.HotKey = 89 then begin
{Дальше идет код программы}
end;
end.

Возможно ли перенести это в сервисное приложение ?
И если возможно, то как это сделать?
Или если необходимо то как по другому реализовать хоткеи в сервисе ?


 
Eraser ©   (2005-09-06 21:42) [1]

Вполне возможно. В сервисе необходимо сделать пустое окно-заглушку и организовать цикл обработки сообщений, возможно удобнее это сделать в отдельном потоке.



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

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

Наверх




Память: 0.45 MB
Время: 0.003 c
1-1126004967
Ш-К
2005-09-06 15:09
2005.10.02
Подгрузка DFM


1-1126642341
The Only
2005-09-14 00:12
2005.10.02
обработка ctrl-s главной mdi формой


1-1126167799
oradb
2005-09-08 12:23
2005.10.02
TListView, DblClick


1-1126019229
Relaxxx
2005-09-06 19:07
2005.10.02
2 вопроса:разделитель дробной части и popupMenu не закрывать по


1-1125900752
kMax
2005-09-05 10:12
2005.10.02
Скопировать файл с заменой





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский