Событие KeyDown может функционировать на втором плане?

У меня есть приложение WPF и я хочу включить метод в момент нажимания на специфическую клавишу без необходимости того, чтобы формуляр находился на первом плане: У какой возможности есть это решение? Привет!

    private void playSimpleSound(string url)
    {
        try {
            SoundPlayer simpleSound = new SoundPlayer(url);
            simpleSound.Play(); }
        catch { MessageBox.Show("Error #2"); }
    }

    private void musicKeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.D1)
        {
            playSimpleSound(ruta1);
        }
    }
0
задан 27.03.2016, 02:58
1 ответ

Чтобы добиваться того, что ты выдвигаешь, ты был бы должен применять концепцию Hooking

Главным образом ты будешь должен использовать api windows, чтобы перехватывать действия клавиатуры

В Простой C # Глобальный Лов Левэль Кеибоард Хук

Просессинг Глобаль Мышь and Кеибоард Оокс in C #

Кеибоард Оокинг Вит К # – такой Передож

Как края использует api

[DllImport("user32.dll")]
static extern IntPtr SetWindowsHookEx
    (int idHook, keyboardHookProc callback, IntPtr hInstance, uint threadId);

, Но мог бы быть проще, если ты используешь этих, книжный магазин

Кеибоардмоусеоокс К # Library

EasyHook

3
ответ дан 24.11.2019, 14:41