Я пытаюсь записать комбинации клавиш от пользователя.
Сильфонный код отлично работает для таких вещей, как ctr+A
, и он даже записывает win-key
, даже если он не останавливает его эффекты.
Но если я хочу записать такие вещи, как ctr+alt+del
, alt+tab
или alt+F4
он вообще не записывается!
CoreWindow.GetForCurrentThread().Dispatcher.AcceleratorKeyActivated += handleKey;
private void handleKey(CoreDispatcher sender, AcceleratorKeyEventArgs args)
{
bool isKeyDown = args.EventType.HasFlag(CoreAcceleratorKeyEventType.KeyDown);
bool isKeyUp = args.EventType.HasFlag(CoreAcceleratorKeyEventType.KeyUp);
var isKeyReleaseOrWasNotDownAlready = args.KeyStatus.IsKeyReleased || !args.KeyStatus.WasKeyDown;
if ((isKeyDown || isKeyUp) && isKeyReleaseOrWasNotDownAlready)
{
args.Handled = true;
triggerKeyEvent(args);//sends event to a recorder
}
}
Есть ли способ остановить распространение горячих клавиш и записать его?