He tratado GetKeyboardLayoutName() y GetKeyboardLayout() para conseguir la distribución de teclado actual, pero ambos me dará el diseño predeterminado y el cambio de la disposición no afecta a la salida!no puede conseguir la distribución del teclado actual
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 ;
}
}
}
}
Siempre me da "00000409" cuando el diseño predeterminado se establece en Inglés, mientras que yo esperaba que fuera "00000429" cuando cambio el diseño de farsi.
Mi primera pregunta aquí, solía encontrar todas mis respuestas solo buscando. Pero en este momento me estoy volviendo loco después de horas de buscar y obtener nada ...
No estoy seguro de que esto ayudará .. Trate GetKeyboardLayoutList para ver si el diseño que desea es al menos cargada .. http://msdn.microsoft.com/en-us/library /windows/desktop/ms646297(v=vs.85).aspx –
@MohamedNuur: ya lo intenté y está cargado. – EmJiHash
No veo el código que cambie el diseño del teclado. Solo puedo adivinar que falló y que no verificó su código de error. – Jay