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 :

Arrêt de processus


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Par défaut Arrêt de processus
    Salut tout le monde,

    J'aimerais arrêter un processus choisi auparavant. Mais mon code ne marche pas.
    Le voici:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    #include <windows.h>
    #include <stdio.h>
    #include <tchar.h>
    #include "psapi.h"
    
    void PrintProcessNameAndID( DWORD processID )
    {
        TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");
        TCHAR Processus[MAX_PATH] = TEXT("Explorer.EXE");
    
    
        HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
                                       PROCESS_VM_READ,
                                       FALSE, processID );
    
    
        if (NULL != hProcess )
        {
            HMODULE hMod;
            DWORD cbNeeded;
    
            if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), 
                 &cbNeeded) )
            {
                GetModuleBaseName( hProcess, hMod, szProcessName, 
                                   sizeof(szProcessName)/sizeof(TCHAR) );
            }
        }
    
    
    
        _tprintf( TEXT("%s  (PID: %u)\n"), szProcessName, processID );
        
    //C'est ici que ça pose problème, le test ne marche pas...
        if(szProcessName==Processus)
    	{
    	GetExitCodeProcess(
    	 hProcess,
    	lpExitCode
    	);
    
    
    	TerminateProcess(
    	hProcess,
    	(unsigned int)lpExitCode
    	);
    	printf("effectué");
    	}
    
        CloseHandle( hProcess );
    }
    
    void main( )
    {
    
    
        DWORD aProcesses[1024], cbNeeded, cProcesses;
        unsigned int i;
    
        if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )
            return;
    
    
        cProcesses = cbNeeded / sizeof(DWORD);
    
        for ( i = 0; i < cProcesses; i++ )
            PrintProcessNameAndID( aProcesses[i] );
    }
    J'ai pris le processus explorer.exe pour exemple, si ça marche je pourrais bien m'en rendre compte. Mais apparemment le test pour l'arrêt du processus ne marche pas, est-ce que quelqu'un pourrait m'aider svp?

    Merci d'avance

  2. #2
    Membre chevronné Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Novembre 2004
    Messages : 669
    Par défaut
    Bonjour
    Poste ton message dans le forum Borland Builder de Developpez.com, tu aura plus de chance d'avoir de l'aide, tu auras avoir la soluce sans probleme la-bas.
    Borland builder
    ++A

  3. #3
    Membre Expert Avatar de Nemesys
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 895
    Par défaut
    "Sinon" en VBS tu as ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    
    Set colProcessList = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'Nom du processus'")
    
    For Each objProcess in colProcessList
    objProcess.Terminate()
    Next

Discussions similaires

  1. Requête BD trop lente => Arrêt du processus ASP.NET
    Par sk8world dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/04/2010, 15h25
  2. point d'arrêt et processus
    Par jackk dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 22/11/2009, 21h06
  3. Arrèt de processus
    Par Virg62 dans le forum Administration système
    Réponses: 1
    Dernier message: 21/05/2008, 19h06
  4. Réponses: 9
    Dernier message: 26/04/2007, 11h09
  5. Arrêt des processus SNP
    Par Wurlitzer dans le forum Oracle
    Réponses: 3
    Dernier message: 24/08/2006, 18h45

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