@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);  
    
}


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

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

Войти через центр авторизации
Похожие вопросы