@lens2314

Как сделать привязку клавиш?

Что я хочу донести
Я пишу скрипт привязки клавиши, по которой начнётся макрос
Как сделать такую привязку клавиш и обязательно чтобы в Windows Form? процесс привязки должен происходить, когда пользователь нажмёт на кнопку button1, то-есть в методе button1_Click

Что я пробовал:
1. сделать урезанное подобие кейлоггера, но информации было больше на консольные приложения и на язык C++
2. данную статью со stackoverflow
но не понял что обозначает
private void MainForm_Load(object sender, EventArgs e)
    {
        hook.KeyDown += (s, ev) => {
            // Так или иначе свернём приложение и т.д.,
            // при необходимости можно проверить, какая именно кнопка была нажата
            
        };

Поэтому применить полученный ответ в своих целях я не мог.
3. использовать ReadKey, но программа выдаёт ошибку
System.InvalidOperationException: "Невозможно считывать клавиши, когда любое приложение не имеет консоли или ввод данных на консоли был переадресован из файла. Попробуйте использовать Console.Read."

4.
private void Form1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)  
{  
    listBox1.Items.Add(e.KeyCode);  
    
}


Так-же я задавал подобный вопрос на этом же сайте, но формулировка оказалась неверной. вопрос
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 1
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Гуглите примеры global keyboard hook
Там используется перехват нажатий клавиш с помощью Win API. C++ не нужен.
Когда поймёте как перехватывается нажатие клавиш, сможете адаптировать под свои нужды.
PS не забывайте возвращать управление после перехвата.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы