我是 vb.net 的新手,我应该在程序运行时使用 API 函数将键盘语言更改为波斯语(波斯语)(这是一个带有文本框的普通表单)。有人知道我该怎么做吗?任何形式的帮助将不胜感激。
问问题
5275 次
4 回答
4
它很容易。无需使用 api 它内置到 .net 框架中。
Dim TypeOfLanguage = New System.Globalization.CultureInfo("fa") ' or "fa-IR" for Farsi(Iran)
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(TypeOfLanguage)
于 2012-05-01T01:37:21.190 回答
0
Would be nice, but InputLanguage does not seem to work with WPF. InputLanguage is a Windows Forms type.
于 2015-04-29T15:53:40.133 回答
0
Dim TypeOfLanguage = New System.Globalization.CultureInfo("fa") ' or "fa-IR" for Farsi(Iran)
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(TypeOfLanguage)
无需使用任何 API 即可正常工作。
于 2012-12-27T11:04:06.390 回答
0
我创建了一个 prog,它使用命令 My.Computer.Keyboard.SendKeys("en-US text", True) 将字符发送到另一个应用程序,但有时当前输入语言不是 en-US,那么所有字符发送都不正确。在学习了Ezi word之后,我通过修改以下内容解决了:感谢Ezi。
Private Sub ipl(lg As String)
Dim TypeOfLanguage = New System.Globalization.CultureInfo(lg) ' or "fa-IR" for Farsi(Iran)
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(TypeOfLanguage)
End Sub
Private Sub swlg() 'switch language TH-US
If InputLanguage.CurrentInputLanguage.Culture.Name <> "en-US" Then
Do
ipl("en-US")
Loop Until InputLanguage.CurrentInputLanguage.Culture.Name = "en-US"
End If
End Sub
于 2020-11-20T04:58:30.383 回答