IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Empecher le redémarrage de windows!


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 111
    Points : 49
    Points
    49
    Par défaut Empecher le redémarrage de windows!
    comment empecher mon application de se fermer quand il yaura un redémarrage de windows?

  2. #2
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    Si ton application ne se ferme pas, Windows ne redemarrera pas. Hors il faut que Windows redémarre => ton application se ferme

  3. #3
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 111
    Points : 49
    Points
    49
    Par défaut
    En faite c'est que mon application qui provoque le redémarrage un 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

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 418
    Points : 5 816
    Points
    5 816
    Par défaut
    salut

    il te suffit de faire demarrer ton appli au demarage de windows

    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;
    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    ...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).
    "It's more fun to compute !"

  6. #6
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 111
    Points : 49
    Points
    49
    Par défaut
    il te suffit de faire demarrer ton appli au demarage de windows
    Pourquoi? ya til une relation avec ma question? explique moi.

    pour le WM_QUERYENDSESSION je vois pas comment l'utiliser yatil un exemple?

  7. #7
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 418
    Points : 5 816
    Points
    5 816
    Par défaut
    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.

    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;
    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  8. #8
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    salut,
    Citation Envoyé par pointer
    comment empecher mon application de se fermer quand il yaura un redémarrage de windows?
    pour cela tu peux utilise r l'évènement OnCloseQuery de ta form. exemple :
    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;
    c'est la même chose que le code d'anapurna mais sans intercepter le message WM_QUERYENDSESSION.

  9. #9
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    Citation Envoyé par evarisnea
    salut,
    pour cela tu peux utilise r l'évènement OnCloseQuery de ta form. exemple :
    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;
    c'est la même chose que le code d'anapurna mais sans intercepter le message WM_QUERYENDSESSION.
    tu as essaiyé ton code au moin sur XP???
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  10. #10
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 111
    Points : 49
    Points
    49
    Par défaut
    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.

  11. #11
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par edam
    tu as essaiyé ton code au moin sur XP???
    oui edam et il marche correctement. chez toi ce n'est pas le cas ?
    ce sujet a déjà été abordé dans le forum d'ailleurs

  12. #12
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 418
    Points : 5 816
    Points
    5 816
    Par défaut
    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
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de redémarrage de Windows non planifiés
    Par alienware1994 dans le forum Windows 7
    Réponses: 15
    Dernier message: 23/11/2009, 12h07
  2. Redémarrage de Windows
    Par Philippe LE PONT dans le forum Windows XP
    Réponses: 1
    Dernier message: 17/12/2006, 20h02
  3. Redémarrage de Windows en cas de mémoire importante
    Par kariboo dans le forum Windows XP
    Réponses: 16
    Dernier message: 18/09/2006, 17h35
  4. fonction pour redémarrage de windows
    Par youp_db dans le forum Windows XP
    Réponses: 2
    Dernier message: 28/08/2006, 13h50
  5. Notification de redémarrage après windows Update.
    Par genialk2000 dans le forum Sécurité
    Réponses: 2
    Dernier message: 22/02/2006, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo