Перейти к содержанию
Fire Monkey от А до Я
  • 0

[Win][FMX] Не работает RegisterHotKey


brunnengi

Вопрос

Здравствуйте.

На VCL RegisterHotKey работал. А вот в FMX нет. В качестве HWND подставляю ApplicationHWND, однако результата нет. Как можно реализовать нечто подобное в FMX, что бы например F12 выполняла нужную мне процедуру пока моё приложение запущено, но даже если не активно?

Ссылка на комментарий

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

  • -1

 

В 22.01.2015 в 03:27, brunnengi сказал:

Как можно реализовать нечто подобное в FMX

Нужно переопределять основной обработчик событий окна, но легче всего сделать так:

...
  FWnd := AllocateHWnd(WindowProc);
...

procedure WindowProc(var AMsg: TMessage);
begin
  case AMsg.Msg of
    WM_HOTKEY:
      case TWMHotKey(AMsg).hotkey of
        1: ...;
        2: ...;
        ...
      end;
  end;
end;

...
RegisterHotkey(FWnd, ...); // как обычно в VCL
...
UnregisterHotkey(...); // как обычно в VCL
...

 

27 минут назад, RapsodRF сказал:

И будут ли они работать на MAC OS

С OSX не все так просто.

Посмотрите темы

Глобальный Hook в OSX и Глобальные хоткеи в OS X

Изменено пользователем dnekrasov
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...