Bonjour a tous, je suis face à un problème que je n'arrive pas à résoudre. Voilà le problème, je voudrais savoir sur un exécutable est lancé sur mon pc ( exemple : qtcreator.exe ) donc je me suis inspirer d'un petit tuto trouver sur msdn (ici ).
Donc pour moi ca donne ca :

Code:

bool MainWindow::isRunning(char *qtcreator)
{
DWORD aProcesses[1024], cbNeeded, cProcesses;
unsigned int i;

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

// Calculate how many process identifiers were returned.
cProcesses = cbNeeded / sizeof(DWORD);

// Print the name and process identifier for each process.
bool trouve = false;
for ( i = 0; i < cProcesses; i++ )
{
if( aProcesses[i] != 0 )
{
wchar_t szProcessName[256];

// obtient le handle du process.
HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ,
FALSE, aProcesses[i] );

// Obtient le nom du process

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

if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), &cbNeeded) )
{
GetModuleBaseName( hProcess, hMod, szProcessName, sizeof(szProcessName)/sizeof(TCHAR) );
}
}
QString test;
test.toWCharArray(szProcessName);
if( test == qtcreator ) {
trouve = true;
}

CloseHandle( hProcess );
}
}

if (trouve) {
return true;
} else {
return false;
}

}
J'ajoute aussi les includes aussi. Puis à la compile j'obtient ceci :

undefined reference to 'EnumProcesses@12'
undefined reference to 'EnumProcessesModules@16'
undefined reference to 'GetModuleBaseNameW@16'
Collect2: ld returned 1 exit status

Quelqu'un a une idée ?????