Вниз
Скачать: 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
1-1126201432
dRake
2005-09-08 21:43
2005.10.02
Как починить дебаггер?


2-1124813961
Juice
2005-08-23 20:19
2005.10.02
2 Вопроса по IDE


2-1124460408
serg10
2005-08-19 18:06
2005.10.02
triggers


14-1126261672
Narik
2005-09-09 14:27
2005.10.02
Что лучше Flash или 3Dmax???


8-1115816511
Vadim68
2005-05-11 17:01
2005.10.02
Разрешение BMP




   Наверх