Comment appeler un processus déjà résident ? - Delphi/Pascal - Programmation
Marsh Posté le 22-01-2007 à 19:04:02
j'ai pas compris ! 
le processus est deja lancé et toi tu veux lui changer de nom //impossible 
sinon executer ? 
Marsh Posté le 22-01-2007 à 20:50:15
| sad bloke a écrit : j'ai pas compris !  | 
 
Pas du tout  
  
Je veux le faire passer au premier plan, en quelque sorte.  
Faire, en programmation, ce que je fais en doublecliquant sur l'icône de la barre des tâches.  
 
ET là, je ne vois pas du tout 
Marsh Posté le 22-01-2007 à 21:20:32
ah ok bah essaye avec la commande show 
 
form1.show
Marsh Posté le 22-01-2007 à 23:03:06
| sad bloke a écrit : ah ok bah essaye avec la commande show  | 
 
On s'approche... mais c'est pas tout à fait ça  
 
Le prog que je veux appeler (enfin : "activer" ) ne fait pas partie du prog qui l'appelle. Comment expliquer ça  
 
 
Soit mon prog qui s'appelle TOTO.EXE . Soit un autre prog, en l'occurrence MailWasher. Celui-ci est "résident", comme on disait sous DOS. Il est déjà lancé, c'est un processus qui existe, et qui tourne. On le voir juste par la petit icône en bas à droite. En doublecliquant sur cette icône avec la souris, je l' "active".  
 
C'est exactement cela que je veux programmer : comme un double clic, mais sur un process existant. 
Marsh Posté le 23-01-2007 à 10:01:10
| HERIBERT a écrit : On s'approche... mais c'est pas tout à fait ça  | 
 
 
 
Essaye avec FindWindow puis ShowWindow puis SetWindowPos . 
 
Exemple avec Yahoo Messenger 
 
andl:= findwindow('YahooBuddyMain', nil); 
SendMessage(andl, WM_SETFOCUS, 0 ,0 ); 
SendMessage(andl, WM_ACTIVATE , 0 , 0 ); 
ShowWindow(andl,SW_MINIMIZE); 
ShowWindow(andl,SW_SHOWDEFAULT); 
 
SetWindowPos(andl, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE 
or SWP_NOACTIVATE or SWP_NOSIZE); 
 
Marsh Posté le 24-03-2007 à 22:29:49
Bonjour, bonjour 
 
Je cherchai la même chose que toi et j'ai trouvé donc je te le poste. 
mes sources : http://www.developpez.com/delphi/f [...] rexecution 
 
j'ai fait un mix avec les deux solutions qu'il propose pour minimiser le code. 
 
| Code : 
 | 
 
 
Voilà j'espère que sa t'aidera et les autres qui passeront ici. 
 
C'est la solution pour mettre au premier plan la première instance d'une application a la place de l'ouvrir une deuxième fois, lorsque l'on lance l'exécutable. 
 
Voila by. 
Pierre-Emmanuel.
Marsh Posté le 22-12-2006 à 09:40:43
Bonjour.
 
 
 Une API (ou une fonction de D6) permettant l'activation d'un processus résident. Un peu comme le fait le gestionnaire de tâches avec l'onglet "Processus".
 Une API (ou une fonction de D6) permettant l'activation d'un processus résident. Un peu comme le fait le gestionnaire de tâches avec l'onglet "Processus".  
 ?
 ?  

Je souhaiterais pouvoir appeler un programme déjà lancé. En loccurrence MailWasher, dont l'icône, en bas à droite, permet justement cet appel (mais ça ne m'est pas commode) :
Il doit bien y avoir une API pour ça, mais laquelle
Pas moyen de faire ça
Merci
Message édité par HERIBERT le 26-01-2007 à 15:10:55