如何轉換輸入法
以下是改變輸入法為的程式碼。為了方便網友,副站長特意寫了一個函數
,只需填入輸入法名稱的關鍵字作參數便可以了。,請準備二個command button
Option Explicit
Private Declare Function GetKeyboardLayoutList Lib "user32" (ByVal
nBuff As Long, lpList As Long) As Long
Private Declare Function ImmGetDescription Lib "imm32.dll" Alias "ImmGetDescriptionA"
(ByVal HKL As Long, ByVal lpsz As String, ByVal uBufLen As Long) As Long
Private Declare Function ImmIsIME Lib "imm32.dll" (ByVal HKL As Long)
As Long
Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal
HKL As Long, ByVal Flags As Long) As Long
Private Function ChangeIME(ByVal Keyword As String) As Boolean
Dim IMEList() As Long
Dim ret As Long
Dim n As Integer
Dim i As Integer
Dim StrName As String
ChangeIME = False
ReDim IMEList(24) As Long
n = GetKeyboardLayoutList(25, IMEList(0))
ReDim Preserve IMEList(n - 1) As Long
For i = 0 To n - 1
If ImmIsIME(IMEList(i)) <> 0 Then
StrName = String(255, 0)
ret = ImmGetDescription(IMEList(i), StrName, 255)
StrName = Left(StrName, ret)
If InStr(StrName, Keyword) <> 0 Then
ActivateKeyboardLayout IMEList(i), 0
ChangeIME = True
Exit Function
End If
End If
Next i
End Function
Private Sub Command1_Click()
ChangeIME "倉頡" '改變輸入法為倉頡
End Sub
Private Sub Command2_Click()
ChangeIME "速成" '改變輸入法為速成
End Sub