Может быть, дешевле просто купить его, чем разрабатывать, никогда не знаешь ;-)

жен написать экранную клавиатуру для программы нашей компании, которая в основном используется на промышленных ПК с сенсорным экраном.

Мы не можем использовать клавиатуру Windows по умолчанию, потому что нам не нужны все клавиши на клавиатуре. Поэтому мне было предложено написать пользовательский в C #.

уже нашлаэтот блог в качестве ссылки, но я не уверен, как начать.

Я создал небольшой прототип GUI и назначил для каждого ключа скан-код, и перевел эти скан-коды на соответствующий символ. И отправить их в активный контроль. Но я не уверен, какие коды сканирования мне следует использовать.

Итак, мой вопрос, это правильный способ написать OSK, как это, и если да, какие коды сканирования я должен использовать? Есть ссылки?

Я также не уверен, как справиться ссдвиг состояния...

Редактировать:

Хорошо, я провел немного больше исследований и придумал оск, который читает текущую раскладку клавиатуры и даже обрабатывает простыесдвиг состояния (сдвиг а такжеAlt Gr). Я написалKeyButton класс, который наследуется отButton, этоKeyButton имеетScanCode свойство типа byte, и если вы назначите ему действительный код сканирования,KeyButton вызовет связанные функции, чтобы получить правильный текст. Я использовал функции из блогов Майкла Каплана с некоторыми небольшими изменениями. В итоге оказалось, что я просто должен был сделать то же, что и он.

Итак, ответ на мой вопрос: да, вы должны использовать сканкоды на своих кнопках, а затем получить виртуальную клавишу и юникод из раскладки клавиатуры.Используйте эти коды сканирования.

Теперь у меня есть персонажи, единственное, что осталось, это отправить их.

Ответы на вопрос(3)

Ваш ответ на вопрос