Эмуляция нажатия клавиши в консоли - 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();
}
}
}