|
Iniciado por Patrice, 02,oct. 2007 11:46 - 7 respuestas |
| |
| | | |
|
| |
Publicado el 02,octubre 2007 - 11:46 |
SI ExeLancé("citsync.exe")>0 ALORS info("J'y suis") SI ExeTermine("citsync.exe") ALORS info("Le prog est terminé") FIN FIN
Ceci n'a pas l'air de fonctionner ! ExeLancé reconnait bien le cas, mais ExeTermine ne "tue" pas le prog.
Si quelqu'un a une idée du problème et surtout de la solution, je suis preneur. Bav Patrice |
| |
| |
| | | |
|
| | |
| |
Publicado el 02,octubre 2007 - 16:04 |
Le 02/10/2007, Patrice a supposé :
SI ExeLancé("citsync.exe")>0 ALORS info("J'y suis") SI ExeTermine("citsync.exe") ALORS info("Le prog est terminé") FIN FIN
Ceci n'a pas l'air de fonctionner ! ExeLancé reconnait bien le cas, mais ExeTermine ne "tue" pas le prog.
Si quelqu'un a une idée du problème et surtout de la solution, je suis preneur. Bav Patrice
est ce un auto kill ? si oui un finprogramme suffit
-- Cordialement JeAn-PhI |
| |
| |
| | | |
|
| | |
| |
Publicado el 03,octubre 2007 - 12:37 |
Ben, non, hein. C'est effectivement lancé à partir d'un autre programme. Merci quand même. |
| |
| |
| | | |
|
| | |
| |
Publicado el 03,octubre 2007 - 14:43 |
Bonjour Patrice...
d'après la doc, les cas ou exetermine ne fonctionne pas sont: - si l'exécutable n'est pas instancié (l'exécutable n'est pas lancé): visiblement, de ce coté la, tu es blindé
- si l'utilisateur ne dispose pas de droits suffisants pour détruire une des instances: CA, ca pourrait être un problème
- si la DLL PSAPI n'est pas disponible sous Windows NT ou 2000: et CA aussi..
A voir
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
Plus d'information sur http://fabriceharari.com/index_FR.html
Patrice wrote:
SI ExeLancé("citsync.exe")>0 ALORS info("J'y suis") SI ExeTermine("citsync.exe") ALORS info("Le prog est terminé") FIN FIN
Ceci n'a pas l'air de fonctionner ! ExeLancé reconnait bien le cas, mais ExeTermine ne "tue" pas le prog.
Si quelqu'un a une idée du problème et surtout de la solution, je suis preneur. Bav Patrice
|
| |
| |
| | | |
|
| | |
| |
Publicado el 03,octubre 2007 - 19:04 |
Merci Fabrice, J'avais bien lu la doc. Pour parodier les vidéos de démo de PCSoft: "eh bien, pour fermer une appli en cours d'execution a partir d'un autre programme, il suffit d'écrire [ExeTermine("lenomduprog")]. Et voilà, c'est tout." Mais ça ne marche pas...
Bon, ça me gave, va falloir utiliser une autre solution. |
| |
| |
| | | |
|
| | |
| |
Publicado el 09,octubre 2007 - 12:30 |
j'ai eu la même embrouille, je me suis débrouillé autrement |
| |
| |
| | | |
|
| | |
| |
Publicado el 28,octubre 2009 - 18:41 |
La méthode consiste à utiliser depuis l'application qui doit arrêter l'appli un message windows utilisateur (exemple no 0x0401) qui sera recu par l'application à "tuer" et qui sefermera dès qu'elle recoit ce message windows:
Déclaration sur l'application appelante
CONSTANT WM_STOP = 0x0401 FIN
et au lieu d'appeler ExeTermine(), utiliser SendMessage(SysFenHandle("TitreFEN1"),WM_STOP,0,0)
Ensuite sur l'Appli.exe (si elle a été crée avec windev idem créer la meme déclaration de message : CONSTANT WM_STOP = 0x0401 FIN et créer un évènement sur l'initialisation de la fenêtre principale FEN1 ayant pour titre "TitreFEN1" id = Evénement("Kill_me", "FEN1", WM_STOP)
puis dans la procédure locale à la FEN1 "Kill_me" FinEvénement(id) Ferme(FEN1)
Et le tour est joué. |
| |
| |
| | | |
|
| | |
| |
Publicado el 28,octubre 2009 - 18:51 |
La méthode consiste à utiliser depuis l'application qui doit arrêter l'appli un message windows utilisateur (exemple no 0x0401) qui sera recu par l'application à "tuer" et qui sefermera dès qu'elle recoit ce message windows:
Déclaration sur l'application appelante
CONSTANT WM_STOP = 0x0401 FIN
et au lieu d'appeler ExeTermine(), utiliser SendMessage(SysFenHandle("TitreFEN1"),WM_STOP,0,0)
Ensuite sur l'Appli.exe (si elle a été crée avec windev idem créer la meme déclaration de message : CONSTANT WM_STOP = 0x0401 FIN et créer un évènement sur l'initialisation de la fenêtre principale FEN1 ayant pour titre "TitreFEN1" id = Evénement("Kill_me", "FEN1", WM_STOP)
puis dans la procédure locale à la FEN1 "Kill_me" FinEvénement(id) Ferme(FEN1)
Et le tour est joué. |
| |
| |
| | | |
|
| | | | |
| | |
|