Arreter un prog delphi ? [Résolu]

Signaler
Messages postés
165
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011
-
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
-
Bonjour a tous.



J'ai un petit souci. J'ai fait un prog delphi 7 qui tourne en continu 24H/24H.

Ce programme possede un bouton "Quitter" pour bien sur sortir de l'application.

Jusque là pas de soucis.



Ce que je n'arrive pas a faire :



Je voudrais que si l'utilisateur décide de redemarrer Windows, le programme se quitte tout seul.

Je suppose qu'il y a certainement un evenement a intercepter ou un truc comme ca.



Bref qui peut me dépanner ?

9 réponses

Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
En effet, windows quitte tous les programmes au moment de l'arret (donc au redémarrage aussi).
Si ton prog tourne 24h/24, pour le relancer, tu as forcément rajouté une clé dans la bdr ( HKEY_LOCAL_MACHINE\Sofware\Microsoft\Windows\currentVersion\Run).

Mais si tu cherches vraiment à intercepter la fermeture de windows, tu dois intercepter le message WM_ENDSESSION comme ceci :


<HR>
TForm1 = class (TForm)
...
procedure EndSession(var Msg : TMessage); message WM_ENDSESSION;
...
private
...
public
...
end;

Après implementation :

procedure TForm1.EndSession(var Msg : TMessage);
begin
// et voila ton evenement !!
end;

<HR>

Si tu ne te plantes pas ....
Tu ne pousera jamais.

@ ++ Florent
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Hello,



Regarde celien je crois que c'est ton bonheur :

http://www.phidels.com/php/index.php3?page=../php/pagetelechargementzip.php3&id=408

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
470
Date d'inscription
vendredi 14 novembre 2003
Statut
Membre
Dernière intervention
23 octobre 2007
1
salut,

normalement (je crois) que windows quitte tous les progs avant de redémarrer.

Oui il est possible d'intercepter le "moment" où Win redem.
J'ai vu mais je ne sais plus ou ke lon pouvait intercepeter la fin de windows,
pour ensuite se relancer au prochain demarrage, la clé du registre est RunOnce (je crois).
Pour retrouver comment intercepter je vais voir sur mon Hdd.

Filipe
Messages postés
470
Date d'inscription
vendredi 14 novembre 2003
Statut
Membre
Dernière intervention
23 octobre 2007
1
Exacte jmp77, c'est cette source que j'avais lu.

Affaire classé !

Bonne prog

Filipe
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
Oui, ben j'avais l'idée ...
Ce qui m'a géné c'est qu'il dit que son appli tourne 24h/24 donc je croyait qu'il avait mit dans la clé RUN son prog pour qu'il tourne en permanence.

Par contre le code du lien est directement puisé dans l'aide de Delphi. notre ami thonyboy n'a pas du chercher bien loin .

@ ++ Florent

Si tu ne te plantes pas ......
tu ne poussera jamais
Messages postés
165
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011

Pour répondre a florenth, effectivement je n'ai pas cherché bien loin, et il est vrai que par expérience je trouve que grace a ce forum on a des réponses précises, et c'est souvent mieux que de errer dans l'aide. Maintenant s'il ne faut pas poser de questions dont la réponse est censé se trouver dans l'aide, ce forum pourrait disparaitre.
Mais je crois que c'est le fait que j'ai validé la réponse de jmp77 qui a enervé notre ami florenth.
Pour l'explication quand j'ai consulté, il y avait vos 2 réponses et c'est vraiment que j'ai cliqué un peu précipitement et peut etre betement sur la derniere réponse comme acceptée.
Je viens d'accepter également la réponse de florenth (mais je ne sais pas si on peut accepter 2 réponses...)
En tout cas avec mes excuses et j'espere sans rancune....
ThonyBoy
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
Mais non mais non !! je ne me suis pas enervé du tout.
C'est sûr que la réponse de jmp77 est evidemment plus concrete a ce que tu recherchais. Il va donc de soi que tu la valide.

Tu n'as donc aucune excuses à adresser et c'estpour cela que je les rejette !!!
En fait, le seul truc que ja'i a te reprocher, c'est le manque de clarté de ta question.

Tu aurais, toujours à mon avis, dû mettre cela comme question :
<HR>
Bonjour à tous,

J'ai créé une application et je voudrais que lorsque windows redémarre alors que mon appli tourne toujours, qu'elle s'ouvre automatiquement au prochain démarrage de windows.

Merci à tous pour votre aide.
ThonyBoy
<HR>

Et voila !! Avec cette question, tu aurais eu une reponse concrete et précise 9 minutes plus tôt !!!

Allez, je n'en veux jamais à personne sauf si cette dîte personne m'en veut !

@ ++ Florent

PS : jmp : Connais-tu par coeur le site de phidels.com ?? Car, en regardant tes réponses toujours très interessantes du forum, on dirait que c'est toi qui en est le Webmaster.
Merci pour l'aide que tu nous apporte ....

Si tu ne te plantes pas ......
tu ne poussera jamais
Messages postés
165
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011

Florenth,

Quand mon Appli tourne, Windows n'arrive pas a s'arreter ! Aussi je voulais intercepter l'evenement de windows afin de dire a mon appli de se quitter proprement ! ET C'EST TOUT !!!

Donc ton avis sur la facon dont j'ai a poser la question....

Je prefere pas insister
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
Ah Ok, je n'avais pas bien saisi ce que tu voulais faire. Donc au fait, tu voulais juste intercepter le fermeture de windows pour fermer ton appli.

Si c'est cela, alors en effet, mon post avec ma suggestion de question etait à côté de la plaque.
Désolé pour cette embrouille ... Cette fois, c'est moi qui m'excuse.

@ charge de redevance
Florent

PS : je clos cette discussion avec sinon les admins vont nous crier dessus.