VB如何获取输入法的输入,就是当输入法的输入还没有输入到tEXT或lib中时,先获取输入法的中文输入

解决方案 »

  1.   

    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
      

  2.   

    Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal hkl As Long, ByVal flags As Long) As Long
    设置输入法
      

  3.   

    子类化窗体截取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