Как имитировать нажатия клавиш в С#?

Google дает это, но похоже, что это работает только для класса WindowsForms. Я совершенно новичок в С#. Я пытаюсь сделать программу, которая отслеживает событие, а затем (например) действует так, как если бы была нажата клавиша «H». Я на самом деле не хочу беспокоиться о том, что такое активное окно или что-то еще, или о том, чтобы отправить нажатие клавиши в приложение, я просто хочу, чтобы программа действовала так, как если бы я физически нажал кнопку «H» на моей клавиатуре. Класс SendKeys не работает в общем классе. Я иду об этом совершенно неправильно?


person user1002973    schedule 02.02.2012    source источник
comment
Один C# не может справиться с этим. Вам нужно получить более низкий уровень, чем этот. Вы можете использовать pinvoke для вызова необходимых клавиатурных хуков. Вот пример (боюсь, заброшенный, но функция получения событий клавиатуры уже есть) -- github. com/eberle1080/Kaptivate   -  person Chris Eberle    schedule 02.02.2012
comment
blogs.msdn.com/b/toub/archive/ 03/05/2006/589423.aspx   -  person Mitch Wheat    schedule 02.02.2012
comment
Этот вопрос включает ответы, ссылающиеся практически на все вариации знаю.   -  person M.Babcock    schedule 02.02.2012
comment
Некоторые проекты могут быть действительно плохим выбором, когда вы начинаете программировать. Это одна из них.   -  person Hans Passant    schedule 02.02.2012
comment
Я ответил на тот же вопрос на другой странице. Пожалуйста, проверьте здесь. Надеюсь это поможет.   -  person Rajesh    schedule 01.09.2012


Ответы (1)


Из Как: имитировать события мыши и клавиатуры в коде< /strong>:

Windows Forms предоставляет несколько вариантов программного моделирования ввода с помощью мыши и клавиатуры.

Моделирование ввода с помощью мыши
Лучший способ смоделировать события мыши — вызвать метод OnEventName, который вызывает событие мыши, которое вы хотите смоделировать.

Имитация ввода с клавиатуры
Хотя вы можете имитировать ввод с клавиатуры, используя описанные выше стратегии для ввода с помощью мыши, Windows Forms также предоставляет класс SendKeys для отправки нажатий клавиш в активное приложение.

person Raathigesh    schedule 02.02.2012