Bonjour.
J'avais déjà lancé ce topic il y a quelques temps et je m'étais certainement mal expliqué :
J'ai une application en D6 avec une fenêtre unique qui réagit uniquement à des raccourcis-clavier (y compris pour quitter) via "OnKeyDown" pour commander un, on va dire, "appareil" (il s'agit de robotique). Le BorderStyle est "None" et le FormStyle "FsStayOnTop".
Dans ma routine d'initialisation lancée au démarrage, il y a deux lignes : Application.OnDeactivate:= .... et Application.OnActivate:= ...., qui pointent toutes deux sur des routines Delphi du projet.
Elles provoquent des changements de couleur au niveau de la fenêtre mais en plus la première arrête l'appareil (normal, il serait incontrôlable pendant le temps que l'appplication n'a pas le focus).
Je voudrais maintenant simplement savoir s'il existe une instruction qui peut forcer l'environnement Windows, dans cette première routine, à remettre immédiatement le focus (via le handle de l'application ? ) sur l'application elle-même, bref, à empêcher l'application de ne pas être l'application active sur le bureau et ce jusqu'à ce qu'on la quitte au clavier (une application "égoïste" en quelque sorte). Il n'y aurait alors plus de problème de nécessité d'arrêt entre autres, ni de "réactivation".
Attention, je précise encore une fois, il ne s'agit pas d'UNE fenêtre d'une application donnée qui doit rester active à l'intérieur de l'application, mais bien de l'application elle-même (en un sens, cela contredit l'esprit du multitâche, je sais).
Voilà, s'il n'y a pas de solution (ce que je crains) je resterai à la configuration actuelle sans me faire HaraKiri. Donc ne perdez pas trop de temps sur ce sujet ...
Merci d'avance...
Partager