Эмуляция нажатия клавиши в консоли - 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д