Эмуляция нажатия клавиши в консоли - C#
Формулировка задачи:
В общем... вообще, у меня есть вот такая вот фиговина:
Мне нужно сделать так, дабы эмулировалось нажатия клавиши. Увы, но использовать эмулятор из Form не получается, а использовать
нельзя
Есть какие предложения?
ConsoleKeyInfo key = Console.ReadKey(); switch (key.Key) { ... }
key.Key = ConsoleKey.Enter;
Решение задачи: «Эмуляция нажатия клавиши в консоли»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace ConsoleApplication1 { class Program { [DllImport("USER32.DLL", CharSet = CharSet.Unicode)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll")] static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam); const int WM_KEYDOWN = 0x0100; const int WM_KEYUP = 0x0101; const int WM_CHAR = 0x0102; static void Main(string[] args) { Console.Title = "con_wi"; IntPtr handle = FindWindow(@"ConsoleWindowClass", @"con_wi"); if (handle == null) Console.Write("null handle"); SendMessage(handle, WM_CHAR, (int)'!', null); Console.ReadKey(); for (int i = 65; i < 91; i++) { SendMessage(handle, WM_CHAR, i, null); Console.ReadKey(); } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д