не могу получить текущую раскладку клавиатуры

я пыталсяGetKeyboardLayoutName() а такжеGetKeyboardLayout() для получения текущей раскладки клавиатуры, но они оба дают мне раскладку по умолчанию, и изменение раскладки не влияет на вывод!

while(1)
{
    Sleep(5);
    for(int i = 8; i < 191; i++)
    {
        if(GetAsyncKeyState(i)&1 ==1)
        {
            TCHAR szKeyboard[KL_NAMELENGTH];
            GetKeyboardLayoutName(szKeyboard);

            if(GetAsyncKeyState(i)&1 ==1)
            {
                TCHAR szKeyboard[KL_NAMELENGTH];
                GetKeyboardLayoutName(szKeyboard);
                cout << szKeyboard << endl ;
            }
        }
    }
}

Это всегда дает мне "00000409" когда макет по умолчанию установлен на английском языке, в то время как я ожидаю, что это будет "00000429" когда я изменю макет на фарси.

Мой первый вопрос здесь, я использовал, чтобы найти все свои ответы, просто ища. Но сейчас я схожу с ума после нескольких часов поисков и ничего не получаю ...

Ответы на вопрос(2)

Ваш ответ на вопрос