Главная страница
    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.004 c
1-1126332121
Геннадий
2005-09-10 10:02
2005.10.02
Отладка модуля проекта, входящего в группу проектов


1-1126516063
IfBeginThenEnd
2005-09-12 13:07
2005.10.02
Назначить главную форму в ран-тайме...


1-1126107297
Виктор_В.С
2005-09-07 19:34
2005.10.02
Очистить String от символов конец строки


1-1126533067
Surok
2005-09-12 17:51
2005.10.02
DBStringGrid и перенос слов


1-1126690385
integery
2005-09-14 13:33
2005.10.02
как запонить отмечиние ячейки в TStringGrid





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