Une recherche rapide sur Google des solutions à Focus Stealing dans Windows révèle deux catégories de résultats principales:
Il est particulièrement agaçant dans deux scénarios courants:
Quelque chose déclenche un programme pour faire apparaître une fenêtre de dialog en arrière-plan alors qu’une application en plein écran est concentrée, entraînant la réduction de l’application en plein écran.
Une fenêtre vole le focus pendant que vous tapez, en volant toutes vos frappes. Si vous appuyez sur Espace, sur Entrée ou sur un raccourci clavier (comme Y pour Oui), cela peut entraîner des résultats totalement indésirables.
Quelles solutions créatives peuvent être appliquées pour résoudre ce problème pour l’un ou l’autre de ces scénarios?
J’ai une suggestion pour la façon dont cela peut être résolu, mais je ne peux pas le mettre en œuvre complètement car je n’ai pas les connaissances.
Le changement de focus entre les fenêtres doit être initié par le programme incriminé qui appelle une fonction API Windows située probablement dans shell32 ou user32. Certains programmes, comme Adobe Photoshop, appellent plusieurs fois (au moins deux fois) pour forcer l’utilisateur à démarrer. L’idée est de connecter cette fonction API (si possible) et de vérifier d’où provient l’appel. Si ce n’est pas à partir de explorer.exe (c.-à-d. Alt + Tabulation ou en cliquant sur une icône dans la barre des tâches), l’appel doit être bloqué par ledit hook.