c ++ - Tilføj sprogindtastning i Windows 10-sprogliste

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal oprette en ny sprogindtastning i Windows 10 i runtime (specielt kinesisk og japansk ) ved hjælp af C ++ og MFC-rammerne.


Se billedet nedenfor:


Indtast billedbeskrivelse her [2]


Jeg har implementeret et virtuelt tastatur og en sprogindstillingsdialog, der i henhold til et valgt sprog ændrer indgangssprog. Jeg har brugt LoadKeyboardLayout og ActivateKeyboardLayout WINAPI funktioner og fungerer for andre sprog, men ikke på kinesisk og japansk (det har brug for at begge sprog er i Windows 10 sprogliste for at arbejde), så jeg vil gerne vide, om der er nogen måde at tilføje begge sprog dynamisk i Windows 10 sprog liste.


Se kode nedenfor:


void OSKSettingsDialog::SetKeyboardInputLanguage(LPCWSTR idLanguage)
{
    HKL desiredhk1 = LoadKeyboardLayout(idLanguage, 0);

    ActivateKeyboardLayout(desiredhk1, KLF\_SETFORPROCESS);
}

    SetKeyboardInputLanguage(L"00000409"); //input locale id of english language(WORKS FINE)        
    SetKeyboardInputLanguage(L"00000804"); //input locale id of chinese (FAILS)
    SetKeyboardInputLanguage(L"00000411"); //input locale id of japanese (FAILS)
    SetKeyboardInputLanguage(L"00000816"); //input locale id of portuguese (WORKS FINE)


Er der nogen måde at gøre det på?


Jeg vil sætte pris på enhver form for hjælp.

Bedste reference