请问怎样知道系统中有哪些输入法?怎样调用它们?
100分送上!

解决方案 »

  1.   

    看看msdn中有关WM_IME开头的消息。
      

  2.   

    Mark一下..明天早上给你刷出调用输入法的函数,也是转的
      

  3.   

    . 切换输入法(轉)
    #include <imm.h>
    bool load_ime( char* ime_name )
    {
    UINT cnt;
    HKL FAR *lpKL;
    char szImeName[13];
    HKL hKLReturn = 0;
    cnt = GetKeyboardLayoutList(0, NULL);
    if (!cnt) {
    /* error. */
    }
    lpKL = (HKL FAR *)LocalAlloc(LPTR, sizeof(HKL) * cnt);
    if (!lpKL) {
    /* not enough memory. */
    }
      

  4.   

    cnt = GetKeyboardLayoutList(cnt, lpKL);
    if (!cnt) {
    /* error. */
    }
    while (0 < cnt) {
    cnt--;
    if (ImmGetIMEFileName(*(lpKL + cnt),
                szImeName, sizeof(szImeName))
    && !lstrcmpi(ime_name, szImeName))
    {
    hKLReturn = *(lpKL + cnt);
    break;
    }
    // ImmGetIMEFileName(*(lpKL + cnt),
    //            szImeName, sizeof(szImeName));
    // OutputDebugString( szImeName );
    }
    LocalFree(lpKL);
    if( hKLReturn != 0 )
    {
    ActivateKeyboardLayout( hKLReturn, 0 );
    return true;
    }
    else
    return false;
    }
      

  5.   


    void CTestcursorDlg::OnButton1() 
    {
    load_ime( "unispim.ime" ); // 紫光
    // load_ime( "PINTLGNT.IME" ); // 微软拼音
    }2. http://www.vckbase.com/vckbase/vckbase11/vc/nonctrls/system_30/1130005.htm
      

  6.   

    天啊,你这是Vc代码啊!我只想要CB代码!老大,有CB的吗?