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 du Club
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 56
    Points
    56
    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
    Membre éclairé
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Points : 786
    Points
    786
    Par défaut
    Salut !

    Si tu programme avec C++, il y a un exemple comment lister les processus lancés :

    http://c.developpez.com/sources/bcb/...ionnairetaches


    Espérant t'avoire aidé !

    Bonne chance !
    Plus tu prends part aux joies et chagrins des gens, plus ils te sont proches et chers. Mais c'est le chagrin et les problèmes qui vous rapprochent le plus.

    (Mark TWAIN)

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Cette question a déjà été posée il me semble ;faire alors une recherche sur ce forum ainsi que celui de VC++
    Sinon il faut utiliser des API comme FindWindowEX,GetModuleHandle etc..
    Un exemple du MSDN
    #include <windows.h>
    #include <stdio.h>
    #include <tchar.h>
    #include "psapi.h"

    void PrintProcessNameAndID( DWORD processID )
    {
    TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");

    // Get a handle to the process.

    HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
    PROCESS_VM_READ,
    FALSE, processID );

    // Get the process name.

    if (NULL != hProcess )
    {
    HMODULE hMod;
    DWORD cbNeeded;

    if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod),
    &cbNeeded) )
    {
    GetModuleBaseName( hProcess, hMod, szProcessName,
    sizeof(szProcessName)/sizeof(TCHAR) );
    }
    }

    // Print the process name and identifier.

    _tprintf( TEXT("%s (PID: %u)\n"), szProcessName, processID );

    CloseHandle( hProcess );
    }

    void main( )
    {
    // Get the list of process identifiers.

    DWORD aProcesses[1024], cbNeeded, cProcesses;
    unsigned int i;

    if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )
    return;

    // Calculate how many process identifiers were returned.

    cProcesses = cbNeeded / sizeof(DWORD);

    // Print the name and process identifier for each process.

    for ( i = 0; i < cProcesses; i++ )
    PrintProcessNameAndID( aProcesses[i] );
    }

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: 5
    Dernier message: 16/10/2006, 16h57
  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