Puoi utilizzare ganci per tastiera per dirottare la tastiera. Potrei iniziare cercando le chiamate SetWindowsHookEx
nel tuo codice. Forse prova a eseguire normalmente il tuo programma e Blocco note come amministratore; i ganci della tastiera non funzionano con processi di privilegi più elevati, in modo da limitare un po 'il problema.
Tu puoi cambiare il layout della tastiera all'interno del tuo codice, ma solo cambiando il registro, e richiede un riavvio prima che funzioni (o almeno un logout, forse) - quindi dubito strongmente che questo è il colpevole.
Come nota Jose, anche il layout di input potrebbe essere cambiato. Accedi alle impostazioni della lingua e della lingua di Windows e in Tastiere e lingue - > Cambia tastiere - > Barra della lingua, scegli Floating On Desktop. Prova a cambiare tra diverse applicazioni per vedere se la lingua di input viene cambiata. Se lo è, dovresti disattivare i layout di tastiera che non stai utilizzando (probabilmente non avrai bisogno dell'inglese), oppure premere left alt + shift
ogni volta che la lingua viene cambiata.