Глобальный хук в консольном приложении - C#
Формулировка задачи:
Приветствую!
Понимаю тема давно избита и куча решений, но не могу сам найти как реализовать.. И возможно ли такое?
Необходимо считывать нажатие одной единственной клавиши в консольном приложении, когда само приложение не активно.
Собственно как реализовано сейчас:
if (key == ConsoleKey.Add) { coin++; } key = Console.ReadKey(true).Key;
Решение задачи: «Глобальный хук в консольном приложении»
textual
Листинг программы
using System; using System.Threading; using System.Windows.Forms; using System.Runtime.InteropServices; namespace GlobalHook { class Program { [DllImport("user32.dll")] static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey); static void Main(string[] args) { while (true) { Thread.Sleep(10); for (int i = 0; i < 255; i++) { int keyState = GetAsyncKeyState((Keys)i); if (keyState == -32767) { Console.WriteLine((Keys)i); } } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д