Низкий уровень Keyhook

Я хотел бы запустить низкоуровневый keyhook в отдельном потоке в C# для обнаружения определенных горячих клавиш. Как бы я это сделал?

3 ответа

Решение

Если вам нужен этот хук клавиатуры только для обнаружения горячих клавиш, то вам не следует использовать хук. Windows поддерживает горячие клавиши с функцией API RegisterHotKey (). Проверьте мой пример кода в этой теме, чтобы увидеть, как его использовать. Ниже приведен пример C#.

Вы можете использовать эту библиотеку:

http://www.codeproject.com/KB/system/globalsystemhook.aspx

Вы можете использовать DirectX. Добавьте ссылку на Microsoft.DirectX.DirectInput (после того, как вы установили DirectX на свой компьютер. Вот SDK.)

Создайте экземпляр класса устройства:

keyboard = new Microsoft.DirectX.DirectInput.Device(SystemGuid.Keyboard);

И теперь вы можете слушать клавиатуру.

Другие вопросы по тегам