Cambiar la distribución del teclado para otro proceso

Estoy escribiendo un programa en C # que se ejecuta en segundo plano y permite a los usuarios usar una tecla de acceso rápido para cambiar la distribución del teclado en la ventana activa. (Windows solo admiteCTRL+CAMBIO yALT+CAMBIO)

Estoy usando RegisterHotKey para capturar la tecla de acceso rápido, y está funcionando bien.

El problema es que no puedo encontrar ninguna API para cambiar la distribución del teclado para la ventana enfocada.

ActivateKeyboardLayout y LoadKeyboardLayout solo pueden cambiar la distribución del teclado para el hilo de llamada.

¿Alguien sabe cómo cambiar la distribución del teclado para un hilo diferente (como lo hace la barra de idioma)?

Respuestas a la pregunta(4)

Su respuesta a la pregunta