一,使用API函数实现:
<DllImport("coredll", CharSet:=CharSet.Auto, CallingConvention:=3)> _
Public Shared Function SipShowIM(ByVal flags As Integer) As Boolean
End Function
<DllImport("coredll.dll", CharSet:=CharSet.Auto, CallingConvention:=1)> _
Public Shared Sub keybd_event(ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
End Sub
Public Shared Sub ShowHiraganaIMKeyBoard()
SipShowIM(1)
'ひらがなシステムキーボーを開ける
If blnHiraganaIMKeyboardFlag = False Then
blnHiraganaIMKeyboardFlag = True
SetIMStatus()
End If
End Sub
Public Shared Sub CloseHiraganaIMKeyBoard()
SipShowIM(0)
End Sub
'可重复调用方法SetIMStatus()来实现输入法的切换.
Private Shared Sub SetIMStatus()
Dim KEYEVENTF_SILENT As Byte = &H4
Dim KEYEVENTF_KEYUP As Byte = &H2
Dim KEYEVENTF_KEYDOWN As Byte = &H0
Dim VK_LMENU As Byte = 164
Dim VK_KANJI As Byte = 25
keybd_event(VK_LMENU, 0, KEYEVENTF_SILENT, 0)
keybd_event(VK_KANJI, 0, KEYEVENTF_SILENT, 0)
keybd_event(VK_KANJI, 0, KEYEVENTF_KEYUP, 0)
keybd_event(VK_LMENU, 0, KEYEVENTF_KEYUP, 0)
End Sub
二,使用SIP函数实现:
摸索中...