Golden Basim Ответов: 2

Как захватить нажатую функциональную клавишу ?


я пытаюсь захватить нажатую функциональную клавишу с помощью :

private void XtraForm1_KeyDown(object sender, KeyEventArgs e) {  
    if(e.KeyCode == Keys.F5)  
        MessageBox.Show("F5");  
}


но когда я нажимаю F5 , ничего не происходит. также F1 и F2 уменьшили и увеличили громкость звука.

Что я уже пробовал:

он работает, если я нажал Fn+F5. и я не знаю, отличается ли моя клавиатура ноутбука или имеет специальный корпус !!!

2 Ответов

Рейтинг:
2

OriginalGriff

Есть вероятность - а мы понятия не имеем, что у вас за Лапландия, - что ... Fn клавиша изменяет код ключа с медиафункции (увеличение или уменьшение громкости) на определенный код функциональной клавиши, и в этом случае вы не можете "захватить" код медиафункции. F5 клавиша, если пользователь не нажмет Fn+F5 потому что он вообще не отображается в ОС (или любом приложении) как функциональная клавиша, если только Fn удерживается, когда он ее нажал.
Нормально, есть маленькая подсказка, напечатанные на КБ : Fn и F1, F2, ... ключевой текст печатается другим цветом, обычно синим.

Во всяком случае, таков был мой опыт работы с большинством лапландских таблеток.
И вполне возможно, что ваш lappie "перехватывает" нажатие клавиши самостоятельно и даже не отправляет ее в ОС в качестве медиа-ключа (но если это так, то их все равно довольно трудно перехватить)


Рейтинг:
1

Alan N

Я думаю, что сейчас многие ноутбуки настроены именно так. Я терпел это около месяца на своем ноутбуке HP, но затем нашел настройку в BIOS, чтобы поменять поведение так, чтобы Fn требовалось изменить яркость, громкость и т. д., А F1 на своем собственном означает F1. Мой BIOS-AMD, и настройка для отключения называлась "ключи действий".

Алан.