Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout 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 设置输入法
子类化窗体截取WM_IME_CHAR和WM_IME_COMPOSITION消息,下面我给你个主要部分的代码参考下...Function WndProc(ByVal hWnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Select Case msg Case WM_IME_COMPOSITION If lParam = 8127 Then Debug.Print "输入中文了", End If Case WM_IME_CHAR Debug.Print Chr$(wParam), End Select WndProc = CallWindowProc(preWndProc, hWnd, msg, wParam, lParam) End Function
Private Declare Function ImmIsIME Lib "imm32.dll" (ByVal hkl As Long) As Long
设置输入法
Select Case msg
Case WM_IME_COMPOSITION
If lParam = 8127 Then
Debug.Print "输入中文了",
End If
Case WM_IME_CHAR
Debug.Print Chr$(wParam),
End Select
WndProc = CallWindowProc(preWndProc, hWnd, msg, wParam, lParam)
End Function