Перейти к содержанию

Рекомендуемые сообщения

Всем привет!

Объясните пожалуйста, как работать с компонентом 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.
Ссылка на комментарий
Поделиться на другие сайты

Кидаешь на форму таймер, ставишь интервал 100 милисекунд, и в обработчике таймера пишешь примерно следующее (пишу на коленке, потому код может быть слегка неверным, подправишь, если что):
 

TForm1.Timer1Timer(Sender: TObject);begin    if GetAsyncKeyState(VK_UP) = TRUE then    begin        // Здесь твой код, который должен выполниться по этой клавише    end;    if GetAsyncKeyState(VK_DOWN) = TRUE then    begin        // Здесь твой код, который должен выполниться по этой клавише    end;end;
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.