Bonjour,

J'ai une application delphi qui lance une autre application delphi.
J'aimerais que lorsque la première application est minimisée, la deuxième le soit aussi.

La solution implémentée actuellement lance la deuxième application en gardant les informations de process, puis lorsque une minimisation est demandée, "forwarde" la demande de minimisation à la fenêtre courante de la 2me application
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
EnumThreadWindows( mProcessInfo.dwThreadId, @cbEnumWindows, lparam(@lHwnd));
if lHwnd<>0 then
  SendMessage(lHwnd,WM_SYSCOMMAND,SC_MINIMIZE,0);
Le problème est que la deuxième application n'a pas toujours de fenêtre, et peut en créer au cours de son cycle de vie. Dans ce cas la fonction EnumThreadWindows ne renvoie rien (lHwnd=0), le 2me programme ne reçoit pas le minimise et une fenêtre créée par la suite apparait

Y a t-il un autre moyen que de passer par la fenêtre courante de la 2eme application ?
J'aimerais éviter d'ouvrir une socket pour cela.


Merci d'avance