Метод SendKeys.Send не позволяет нажимать клавишу Fn, которая есть на клавиатуре ноутбука. Как я могу имитировать нажатие этой клавиши с С#?
Как имитировать нажатие Fn+F6?
Ответы (2)
Вы не можете, и вам не нужно. Клавиша Fn
существует только как клавиша, если речь идет о схеме клавиатуры.
Когда код клавиши отправляется в операционную систему, это выглядит так, как если бы функциональные клавиши были обычными клавишами на обычной клавиатуре. Операционная система даже не знает о существовании клавиши Fn
, об этом заботится специальная схема клавиатуры в ноутбуке.
Чтобы заставить функциональную клавишу нажиматься на ноутбуке, просто отправьте код обычной клавиши для функциональной клавиши, как на обычной клавиатуре.
Если есть какие-то другие комбинации клавиш, где используется клавиша Fn
, то они либо имеют свои коды клавиш, либо их просто невозможно отправить, потому что они обрабатываются ноутбуком, а не операционной системой.
Я никогда не пробовал, но я думаю, что вы можете сделать это другим способом. Создайте событие keydown
для textbox
и нажмите клавишу fn
во время выполнения, а затем проверьте, какое code
или какое keyValue
оно возвращает. Затем используйте этот value
в своем методе SendKeys.Send
.
fn
поддерживается аппаратно. - person Scott   schedule 21.07.2013