Чтение нажатий клавиш с помощью службы Windows - PullRequest
0 голосов
/ 16 октября 2018

У меня есть несколько приложений, которые я хочу запустить, когда пользователь нажимает определенные клавиши на клавиатуре, и для этого я хочу использовать метод WndProc.

Я добился успеха в этом в приложении WinForms.Я хочу разработать Службу Windows для достижения этой цели.Я получаю следующие ошибки при попытке использовать код в службе Windows.

  1. RegHotKeys.CreateParams: не найдено подходящего метода для переопределения
  2. RegHotKeys.WndProc (ref Message): нетнайден подходящий метод для переопределения
  3. ServiceBase не содержит определения для WndProc
  4. ServiceBase не содержит определения для CreateParams

Ниже приведен фрагмент кода:

    protected override void WndProc(ref Message keyPressed)
    {
        Keys keyData = ((Keys)((int)((long)keyPressed.WParam))) | Control.ModifierKeys;

        if (keyPressed.LParam.ToInt32() == hotKey1)
        {
           //ACTION 1
        }
        else if (keyPressed.LParam.ToInt32() == hotKey2)
        {
           //ACTION 2

        }
        else if (keyPressed.LParam.ToInt32() == hotKey3)
        {
           //ACTION 3

        }
        else if (keyPressed.LParam.ToInt32() == hotKey4)
        { 
           //ACTION 4
        }

        base.WndProc(ref keyPressed);
    }

    protected override CreateParams CreateParams
    {
        get
        {
            var cp = base.CreateParams;
            cp.ExStyle |= 0x80;  // Turn on WS_EX_TOOLWINDOW
            return cp;
        }
    }

Так может кто-нибудь предложить, что может быть возможным решением этой проблемы, пожалуйста?

...