我在控制台应用程序中测试了一个简单的WH_KEYBOARD挂钩。因为在控制台应用程序中我没有消息循环,我尝试了Application.Run()。这不起作用。如果我使用Application.Run(new Form());它的工作原理和密钥将被捕获。我没有'理解为什么Application.Run()所有人都不够。
hookID = SetWindowsHookEx((int)WH_TYPE.WH_KEYBOARD, hp, (IntPtr)null, GetCurrentThreadId());
Console.WriteLine("HookID ist {0}",hookID);
// Works but Application.Run(); alone wouldn't work
Application.Run(new Form());