Vlad2 Опубликовано 16 декабря, 2014 Поделиться Опубликовано 16 декабря, 2014 Всем привет!Объясните пожалуйста, как работать с компонентом HotKey в Delphi.И как с помощью этого компонента сделать горячие клавиши для трейнера, чтоб можно было не сворачивая игру пользоваться функционалом трейнера?Нашел пример, но он не подходит, потому что если в программе зарегистрировать клавишу, то она кроме программы нигде не сработает.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private procedure WMHOTKEY(var Msg: TMessage); message WM_HOTKEY; { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin RegisterHotKey(Handle, 1, 0, VK_DOWN); RegisterHotKey(Handle, 2, 0, VK_UP);end;procedure TForm1.WMHOTKEY(var Msg: TMessage);begin case Msg.WParam of 1: MessageBox(Handle, 'Down', 'WMHOTKEY', MB_OK or MB_SYSTEMMODAL); 2: MessageBox(Handle, 'Up', 'WMHOTKEY', MB_OK or MB_SYSTEMMODAL); end;end;end. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 16 декабря, 2014 Поделиться Опубликовано 16 декабря, 2014 Кидаешь на форму таймер, ставишь интервал 100 милисекунд, и в обработчике таймера пишешь примерно следующее (пишу на коленке, потому код может быть слегка неверным, подправишь, если что): TForm1.Timer1Timer(Sender: TObject);begin if GetAsyncKeyState(VK_UP) = TRUE then begin // Здесь твой код, который должен выполниться по этой клавише end; if GetAsyncKeyState(VK_DOWN) = TRUE then begin // Здесь твой код, который должен выполниться по этой клавише end;end; Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad2 Опубликовано 16 декабря, 2014 Автор Поделиться Опубликовано 16 декабря, 2014 Спасибо, Все работает, код чуть-чуть подправил только)procedure TForm1.Timer1Timer(Sender: TObject);begin if (GetAsyncKeyState(VK_UP) <> 0) then begin // Тут код end;end; 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения