Fermeture propre d'une appli externe ?

DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 - 10 janv. 2005 à 16:13
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 - 10 janv. 2005 à 21:29
Donc piti probleme : je cherche a fermer "PROPREMENT" une appli externe a mon prog delphi7... et manque de bol:

1-Si je fas ça :
Hndl:=FindWindow(nil,'ViaMichelin Mapstore 2.32');
SendMessage(Hndl,WM_CLOSE,0,0);
l'appli se ferme en générant un message d'erreur genre plantage....

2-et si je fais ça (mode violent)

Hndl:=FindWindow(nil,'ViaMichelin Mapstore 2.32');
GetWindowThreadProcessId(Hndl, @ProcessId);
If ProcessId<>0 then
begin
HandleProcess:=OpenProcess(PROCESS_TERMINATE, False, ProcessId);
TerminateProcess(HandleProcess, 0);
end;

Ca ferme tout bien sauf que je perds les parametres de l'appli.....

Derniere solution envisageable, simuler un click sur la croix en haut a gauche de l'appli en question.

Comment fermer cette appli, pourquoi "SendMessage(Hndl,WM_CLOSE,0,0);" me fait il un comportement erratique?

Ou comment simuler un click sur la tite croix ?

gnh !

3 réponses

cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
10 janv. 2005 à 20:24
pourquoi n'essaye tu pas simplement WM_Quit ?

Bon Coding ....

ManChesTer.
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
10 janv. 2005 à 21:22
Et ca s'utilise comment ? D'apres le MSDN, le WM_QUIT ne ressemble pas au WM_CLOSE.... meme pas dutout.
gnh !
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
10 janv. 2005 à 21:29
Arf, bon avec un postmessage ca passe. Merci bôcoo.

gnh !
0
Rejoignez-nous