Чтение нажатий клавиш с помощью службы windows
Привет Технари,
У меня есть несколько приложений, которые я хочу запустить, когда пользователь нажимает определенные клавиши с клавиатуры, и для этого я хочу использовать метод 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; } }
Итак, может ли кто-нибудь предложить, каким может быть возможное решение этой проблемы, пожалуйста?
Что я уже пробовал:
Я преуспеваю в этом в приложении WinForms.