Я создал приложение, которое прекрасно вызывает функцию:
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
не вызывается.
Как я могу это исправить и что может вызвать это?