示例
form内 放入一个 command
Private
Const
IME_ESC_MAX_KEY
=
&
H1005
Private Const IME_ESC_IME_NAME = & H1006
Private Const GCL_REVERSECONVERSION = & H2
Private Declare Function GetKeyboardLayoutList Lib " user32 " (ByVal nBuff As Long , lpList As Long ) As Long
Private Declare Function ImmEscape Lib " imm32.dll " Alias " ImmEscapeA " (ByVal hkl As Long , ByVal himc As Long , ByVal un As Long , lpv As Any) As Long
Private Declare Function ImmGetConversionList Lib " imm32.dll " Alias " ImmGetConversionListA " (ByVal hkl As Long , ByVal himc As Long , ByVal lpsz As String , lpCandidateList As Any, ByVal dwBufLen As Long , ByVal uFlag As Long ) As Long
Private Sub Command1_Click()
Dim i As Long , a() As Long , s As String * 256
ReDim a( 255 ) As Long
i = GetKeyboardLayoutList( 255 , a( 0 ))
For i = 0 To i - 1
Call ImmEscape(a(i), 0 , IME_ESC_IME_NAME, ByVal s)
Print s
Next i
End Sub
Private Const IME_ESC_IME_NAME = & H1006
Private Const GCL_REVERSECONVERSION = & H2
Private Declare Function GetKeyboardLayoutList Lib " user32 " (ByVal nBuff As Long , lpList As Long ) As Long
Private Declare Function ImmEscape Lib " imm32.dll " Alias " ImmEscapeA " (ByVal hkl As Long , ByVal himc As Long , ByVal un As Long , lpv As Any) As Long
Private Declare Function ImmGetConversionList Lib " imm32.dll " Alias " ImmGetConversionListA " (ByVal hkl As Long , ByVal himc As Long , ByVal lpsz As String , lpCandidateList As Any, ByVal dwBufLen As Long , ByVal uFlag As Long ) As Long
Private Sub Command1_Click()
Dim i As Long , a() As Long , s As String * 256
ReDim a( 255 ) As Long
i = GetKeyboardLayoutList( 255 , a( 0 ))
For i = 0 To i - 1
Call ImmEscape(a(i), 0 , IME_ESC_IME_NAME, ByVal s)
Print s
Next i
End Sub