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.