Я активировал экранную клавиатуру Windows для своего приложения и изменил раскладку клавиатуры на тамильский перед отображением экранной клавиатуры, используя следующий код:
Private Const KLF_ACTIVATE As Integer = 1
Dim oskProcess As System.Diagnostics.Process
Private Sub ProdNameText_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles ProdNameText.GotFocus
LoadKeyboardLayout("00000449", KLF_ACTIVATE)
oskProcess = Process.Start("osk.exe")
End Sub
Я могу ввести тамильский язык в текстовое поле:
- Нажатие клавиш на моей клавиатуре
- Нажатие клавиш на экранной клавиатуре
Но экранная клавиатура отображает символы только на английском языке. Когда я нажимаю «Тамильский язык» на языковой панели, клавиши на экранной клавиатуре показывают символы тамильского языка.
Почему символы экранной клавиатуры не меняются в соответствии с изменением текущей раскладки клавиатуры, когда изменение делается программно?