![]() |
|
|
Регистрация | << Правила форума >> | 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
|
|||
|
|||
![]() Цитата:
|