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

C++ Discussion :

Empêcher un processus s'il a déjà été lancé auparavant


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Par défaut Empêcher un processus s'il a déjà été lancé auparavant
    Bonjour,

    Je voulais savoir s'il existe un moyen d'empêcher de relancer un processus (dans mon cas, lancé un questionnaire développé avec Qt), si celui-ci a déjà été exécuté (dans mon cas, le questionnaire a déjà été rempli et validé)

    J'ai besoin de sécuriser le fait que le processus ne peut plus se lancer une deuxième fois.

    J'ai pensé à cacher une clef dans le registre afin que l'application se souvienne que le questionnaire a déjà été rempli. Mais peut-être existe-t-il d'autres moyens? Est-ce suffisant?

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Par défaut
    Il existe une fonction sous Windows qui permet de savoir ça, mais j'me rappelle plus laquelle

    Sinon, tu peux :
    - créer un fichier de lock qui sera supprimé à l'arrêt du programme (comme ce qui est fait pour Firefox)
    - lier une socket à un port (si tu essayes de lier la socket deux fois sur le même port, ça foire)

  3. #3
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Puisque tu es en Qt, autant utiliser la méthode Qt de faire : utiliser QtSingleApplication plutôt que QtApplication.

    http://doc.trolltech.com/solutions/4...plication.html

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Par défaut
    Merci pour ces réponses,

    J'utilise déjà QtSingleApplication afin de prévenir de lancer deux fois mon application principale.

    Cependant mon questionnaire est une forme, pas une application (.exe), que je lance depuis l'application principale.

    De plus, QtSingleApplication permet bien de ne pas lancer deux fois de suite la même application. Cependant, si je ferme mon application, je peux la relancer sans problème.

    Hors j'aimerais que ce formulaire ne puisse s'afficher qu'une et une seule fois.

  5. #5
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Citation Envoyé par pasqual Voir le message
    Cependant mon questionnaire est une forme, pas une application (.exe), que je lance depuis l'application principale.
    C'est a dire c'est quoi pour toi une forme ?
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Par défaut
    une forme pour moi c'est une nouvelle fenêtre qui contient le formulaire

    Ce que je veux c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(formulaire déjà rempli)
      j affiche mon questionnaire
    else
      rien
    Je pense qu'on est obligé d'inscrire qqch dans le registre

  7. #7
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Si tu veux qu'il ne s'affiche qu'une seule, je suppose que c'est que, quelque part, tu stockes ce qui a été rempli. Donc, pourquoi ne pas utiliser ce même endroit pour stocker le fait que le questionnaire a déjà été rempli ?

    La base de registre est une solution, mais windows uniquement. Si tu pars sur du développement en C++/Qt, c'est dommage de se limiter ainsi.

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/02/2009, 15h54
  2. probleme avec les processus
    Par saidi dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/02/2003, 00h18
  3. [MSXML] Comment empécher la conversion des entités ?
    Par nima dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 08/11/2002, 14h14
  4. [VB6] [Système] Tuer un processus courant
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 22/10/2002, 14h47
  5. Réponses: 2
    Dernier message: 04/10/2002, 09h13

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