comment empecher mon application de se fermer quand il yaura un redémarrage de windows?
comment empecher mon application de se fermer quand il yaura un redémarrage de windows?
Si ton application ne se ferme pas, Windows ne redemarrera pas. Hors il faut que Windows redémarre => ton application se ferme![]()
Comment rejoindre la rédaction de www.developpez.com ?
Améliorer vos posts en faisant une correction orthographique
"Tu as tort d'abuser de ma patience" Sokar
En faite c'est que mon application qui provoque le redémarrageun probleme que j'ai pa encore pu arriver à le résoudre. Si je lance mon application avec F9 sous delphi je peux empecher le redémarrage du pc en cliquant sur annuler quand delphi me demande d'enregistrer le projet donc j'ai dit qu'il ya une methode d'empecher le redemarrage quand j'execute l'exe de mon application
salut
il te suffit de faire demarrer ton appli au demarage de windows
@+ Phil
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 var Registre: TRegistry; nomdelakey: string; programme:string; Begin nomdelakey := 'MOMAPPLI'; // on définie le chemin de destination du programme programme := applicaTion.exename; // on crée la clé dans la registre Registre:=TRegistry.Create; Registre.RootKey:=HKEY_LOCAL_MACHINE; Registre.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run\',True); Registre.WriteString(nomdelakey,programme) Registre.CloseKey; Registre.Free;
...et si tu veux réellement empêcher la fermeture de Windows, ce qui n'est pas forcément une solution intéressante, il faut réagir au messager WM_QUERYENDSESSION (fais une recherche sur le forum).
Pourquoi? ya til une relation avec ma question? explique moi.il te suffit de faire demarrer ton appli au demarage de windows
pour le WM_QUERYENDSESSION je vois pas comment l'utiliser yatil un exemple?
salut
je te donne une solution lors du redemarrage de windows
afin que personne n'est a intervenir pour relancer ton appli
si ton appli demande le redemarage de windows c'est ,je supose, volontaire sinon il faut absolument que tu corrige le bug qui te plante l'os.
@+ Phil
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 procedure WMQUERYENDSESSION(var Message: TWMQUERYENDSESSION); message WM_QUERYENDSESSION; procedure TForm1.WMQUERYENDSESSION(var Message: TWMQUERYENDSESSION); begin {If you dont want to exit then pass it a non zero value} If MessageDlg('Fermer Windows ?', mtConfirmation, [mbYes,mbNo], 0) = mrNo then Message.Result := 0 else Message.Result := 1; end;
salut,
pour cela tu peux utilise r l'évènement OnCloseQuery de ta form. exemple :Envoyé par pointer
c'est la même chose que le code d'anapurna mais sans intercepter le message WM_QUERYENDSESSION.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm1.OnCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose := (MessageDlg('Souhaitez vous fermer Win$ ?', mtConfirmation, [mbYes,mbNo], 0) = mrYes); end;![]()
tu as essaiyé ton code au moin sur XP???Envoyé par evarisnea
![]()
merci anapurna ton code marche correctement. Juste une petite question: comment vous expliquez que mes programmes fonctionne correctemnt depuis des mois commence à redémarrer le pc (parfois pas tjrs) au lancement?sachant que mes programmes active une carte pci au démarrage.
oui edam et il marche correctement. chez toi ce n'est pas le cas ?Envoyé par edam
ce sujet a déjà été abordé dans le forum d'ailleurs![]()
salut
il peut y avoir divers facteur de redemarrage de ton pc
il est difficile de savoir pourquoi ca plante sans connaitre les different paramettre
le premier element de reponse pourrait etre
les fonction que tu utilise font appel a des instruction assembleur non gerer par le processeur
(j'ai deja eu ce cas la avec une programme de calcul de frequence processeur qui n'etait pas compatible avec les processeur citrix)
tu peut aussi peut etre oublier de desallouer de objet et la memmoire ce sature au bout d'un certain momment
il existe telement de possibilite qu'il est tres difficile de donner une solution toute faite
@+ Phil
Partager