Эмуляция нажатия клавиши в консоли - C#

Узнай цену своей работы

Формулировка задачи:

В общем... вообще, у меня есть вот такая вот фиговина:
Листинг программы
  1. ConsoleKeyInfo key = Console.ReadKey();
  2. switch (key.Key)
  3. {
  4. ...
  5. }
Мне нужно сделать так, дабы эмулировалось нажатия клавиши. Увы, но использовать эмулятор из Form не получается, а использовать
Листинг программы
  1. key.Key = ConsoleKey.Enter;
нельзя Есть какие предложения?

Решение задачи: «Эмуляция нажатия клавиши в консоли»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Runtime.InteropServices;
  6.  
  7.  
  8. namespace ConsoleApplication1
  9. {
  10.     class Program
  11.     {
  12.  
  13.         [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
  14.         public static extern IntPtr FindWindow(string lpClassName,
  15.             string lpWindowName);
  16.  
  17.         [DllImport("user32.dll")]
  18.         static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam);
  19.  
  20.         const int WM_KEYDOWN = 0x0100;
  21.         const int WM_KEYUP = 0x0101;
  22.         const int WM_CHAR = 0x0102;
  23.        
  24.  
  25.  
  26.         static void Main(string[] args)
  27.         {
  28.  
  29.          
  30.             Console.Title = "con_wi";
  31.  
  32.             IntPtr handle = FindWindow(@"ConsoleWindowClass", @"con_wi");
  33.            
  34.            
  35.            
  36.  
  37.             if (handle == null) Console.Write("null handle");
  38.  
  39.  
  40.  
  41.             SendMessage(handle, WM_CHAR, (int)'!', null);
  42.             Console.ReadKey();
  43.  
  44.             for (int i = 65; i < 91; i++) { SendMessage(handle, WM_CHAR, i, null); Console.ReadKey(); }
  45.  
  46.  
  47.              
  48.             Console.ReadKey();
  49.         }
  50.     }
  51. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы