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

Windows Discussion :

API pour savoir si un processus est en train de marcher


Sujet :

Windows

  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 243
    Par défaut API pour savoir si un processus est en train de marcher
    Bonjour à tous,
    Je développe actuellement une application , et il y a un problème lorsqu'un certain logiciel est lancé plus d'une fois par l'application. Alors j'aimerai tester dans le code de mon application si le processus généré par le logiciel a déja été lancé.
    C'est vrai qu'on peut capturer le nombre de fois que le logiciel a été lancé , soit en utilisant des variables globales , soit en incrémentant et/ou décrémentant une certaine valeur dans une colonne d'une table d'une base de donnée. Mais quand l'application "plante" alors j'obtiens de fausses informations concernant le comptage. Aussi l'option de variables globales n'est pas fiable car il se peut que l'utilisateur final ouvre à la fois deux fenêtres de mon application , et ainsi la variable globale dans la première application ne verra pas ce qui se passe dans l'autre application.
    Alors est-ce qu'il y a un API permettant de savoir si un processus est déja lancé ?
    Merci beaucoup.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 409
    Par défaut
    [Windows]
    Il y a différents moyens.
    Si le processus possède une fenêtre, on peut regarder avec FindWindow() s'il existe une fenêtre avec la bonne "Classe de fenêtre", et éventuellement avec le bon titre...

    Sinon, on peut utiliser les fonctions de liste des processus (CreateToolHelp32Snapshot()/Process32First() ou bien EnumProcesses()) pour savoir si un processus basé sur un certain exécutable est en cours...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 243
    Par défaut
    Bonjour,
    Est-il possible d'avoir un API parce que l'application que je développe n'est pas en langage C/C++ mais en oracle pl/sql.
    Merci

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 409
    Par défaut
    Là, il faudra définir un peu mieux ce que tu appelles API... Je t'ai donné les fonctions telles qu'elles sont disponibles sous l'API Windows (depuis C, C++, VB et tous les langages de .Net), mais je ne sais même pas s'il est possible d'invoquer une fonction de L'API Win32 depuis du PL/SQL (et pour moi, il y a bien peu de chances)...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 243
    Par défaut
    Il est possible d'invoquer des fonctions dans un dll à partir de pl/sql si on connait les arguments avec leur type de données et le type de donnée de retour de la fonction.
    Alors ce que je veux savoir c'est que est-ce que les fonctions énumérées ci-dessus sont dans un dll , le cas échéant quel est le nom du dll, puis quelle est la signature de chaque fonction : nombre de paramètres avec leurs type de données et le type de données de retour de la fonction.
    Merci

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 409
    Par défaut

    (Ou plus précisément: http://msdn.microsoft.com/library)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/11/2006, 10h36
  2. API pour savoir si un processus est en train de marcher
    Par andrianiaina dans le forum Windows
    Réponses: 2
    Dernier message: 17/10/2006, 16h23
  3. savoir si un processus est en fonctionement
    Par sofienems dans le forum ASP
    Réponses: 1
    Dernier message: 06/07/2006, 14h46
  4. Réponses: 17
    Dernier message: 14/02/2006, 00h21
  5. Fonction pour savoir si un ordi est connecté au reseau
    Par LitteulKevin dans le forum Windows
    Réponses: 17
    Dernier message: 13/09/2004, 14h12

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