Открытие exe-файла, содержащего низкоуровневый хук клавиатуры из сервиса Windws (C#) - PullRequest
0 голосов
/ 29 марта 2020

Я создал приложение, которое прекрасно вызывает функцию:

private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
{
    ...
}

при каждом нажатии клавиши. Вот как я это реализовал:

using (var curProcess = Process.GetCurrentProcess())
using (var curModule = curProcess.MainModule)
    _hookID = SetWindowsHookEx(WH_KEYBOARD_LL, HookCallback, 
                               GetModuleHandle(curModule.ModuleName), 0);

WriteToFile("Started");
Application.Run();

Когда я регулярно запускаю проект, даже когда я вручную открываю файл .exe, все работает нормально, и вызывается метод HookCallback.

Но когда я открываю его из Windows службы, используя Process.Start("..."), HookCallback не вызывается.

Как я могу это исправить и что может вызвать это?

...