示例 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