![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте!
По своим нуждам, делаю себе программу, что бы уменьшала/увеличивала громкость системы. Программа будет находится в трее, по этому надо горячие клавиши... Поискав в интернете, нашел как делать эти горячие клавиши, но получается только одна! Вернее только на одно событие... Код:
Type
procedure F1(var Message:TMessage);message WM_HOTKEY;
...
...
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Handle,0,MOD_CONTROL,VK_DOWN);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Handle,0);
end;
procedure TForm1.F1(var Message: TMessage);
begin
{И тут уже пишется код, который я хочу...}
keybd_event(VK_VOLUME_DOWN, 0, 0, 0);
keybd_event(VK_VOLUME_DOWN, 0, KEYEVENTF_KEYUP, 0);
end;Горячие клавиши получается - CTRL+Стрелка вниз. Как добавить еще горячие клавиши ???? Не могу понять. ![]() |
|
#2
|
||||
|
||||
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure WMHOTKEY(var Msg: TMessage); message WM_HOTKEY;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Handle, 1, MOD_CONTROL, VK_DOWN);
RegisterHotKey(Handle, 2, MOD_CONTROL, VK_UP);
end;
procedure TForm1.WMHOTKEY(var Msg: TMessage);
begin
case Msg.WParam of
1: MessageBox(Handle, 'Ctrl+Down', 'WMHOTKEY', MB_OK or MB_SYSTEMMODAL);
2: MessageBox(Handle, 'Ctrl+Up', 'WMHOTKEY', MB_OK or MB_SYSTEMMODAL);
end;
end;
end. |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Gareth (01.08.2013)
| ||
|
#3
|
|||
|
|||
|
Цитата:
Я понял как делать! Но не понял как мне вписать действия которые я хочу.. Они, как я понял, вписываются после 1: и 2: . Но как мне вписать 2 строчки в каждую горячую клавишу? Делаю так, но ругается) Код:
procedure TForm1.WMHOTKEY(var Msg: TMessage);
begin
case Msg.WParam of
1: keybd_event(VK_VOLUME_DOWN, 0, 0, 0);
keybd_event(VK_VOLUME_DOWN, 0, KEYEVENTF_KEYUP, 0);
2: keybd_event(VK_VOLUME_UP, 0, 0, 0);
keybd_event(VK_VOLUME_UP, 0, KEYEVENTF_KEYUP, 0);
end;
end; |
|
#4
|
||||
|
||||
|
begin-end пробовал?
|
|
#5
|
|||
|
|||
|
Цитата:
|