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