Вниз
Скачать: CL | DM;

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

 
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 вся ветка

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



Память: 0.45 MB
Время: 0.022 c
2-1124658848
Свич
2005-08-22 01:14
2005.10.02
Как грамотно переключаться в другой режим?


14-1126283905
wnew
2005-09-09 20:38
2005.10.02
DVD, SVCD, формат, coder, encoder


1-1126024282
ДимДимыч
2005-09-06 20:31
2005.10.02
Выполнение скриптов


4-1123249044
Anton S.
2005-08-05 17:37
2005.10.02
Форма "всегда внизу"


14-1126294426
DesWind
2005-09-09 23:33
2005.10.02
Читаешь книгу - фидишь фигу.




   Наверх