Как определить глобальную горячую клавишу в приложении C ++ / CX XAML - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь добавить поддержку глобальной горячей клавиши в свое приложение C ++ / Cx UWP, и я не знаю, как это сделать. Я не могу найти конкретное событие / обработчик для этого. Более того, registerHotKey из winuser.h, по-видимому, недоступен для UWP.

Заранее спасибо!

1 Ответ

0 голосов
/ 25 октября 2019

Ярлыки в UWP можно установить с помощью Window.Current.Dispatcher.AcceleratorKeyActivated.

Это код C # для вызова Ctrl + Q, может быть, он вам поможет.

public class MainPage
{
    this.InitializeComponent();
    Window.Current.Dispatcher.AcceleratorKeyActivated += AccelertorKeyActivedHandle;
}

private void AccelertorKeyActivedHandle(CoreDispatcher sender, AcceleratorKeyEventArgs args)
{
    if (args.EventType.ToString().Contains("Down"))
    {
       var ctrl= Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);
       if (ctrl.HasFlag(CoreVirtualKeyStates.Down))
       {
           if (args.VirtualKey == VirtualKey.Q)
           {
              // code here
           }
       }

    }
}

BestС уважением.

...