Seite 1 von 1

unter Windows alle laufenden Prozesse auslesen

Verfasst: 13. Februar 2007 15:24
von qtp
Hy,

wie kann ich unter Windows alle laufenden Prozesse mit vollständigem Pfad auslesen?
Ich hab zwar schon mit QProcess rumprobiert, aber hab nichts erreicht! :cry:

Verfasst: 13. Februar 2007 15:48
von Christian81
So etwas geht mit Qt-Mitteln nicht, nur mit WinAPI-Funktionen. Am besten mal in einem M$-Programmierforum nachfragen.

Verfasst: 16. Oktober 2007 11:27
von Antis_81
Will das gleiche machen, gibt's da vielleicht nen hübschen Link oder ne Lösung?

Verfasst: 19. Oktober 2007 10:18
von Sephral
Hallo,

dieses Thema hatte mich auch einiges an zeit gekostet :-)

MS-Debugging-Tools (ich glaube die waren das...) installieren.
Darin findet sich die Psapi.Lib und Psapi.Dll.

Und dann etwas in der Richtung programmieren...

Code: Alles auswählen

HANDLE hProcessSnap;
PROCESSENTRY32 pe32;

hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
if( hProcessSnap == INVALID_HANDLE_VALUE )
{
    return -1;
}

pe32.dwSize = sizeof( PROCESSENTRY32 );

if( !Process32First( hProcessSnap, &pe32 ) )
{
    CloseHandle( hProcessSnap );  
    return -1;
}

do
{
    QString fileName = QString::fromStdWString(pe32.szExeFile);
    
    // fileName in eine Liste packen
    // pe32.th32ProcessID beinhaltet z.B. auch die PID

} while( Process32Next( hProcessSnap, &pe32 ) );

CloseHandle( hProcessSnap );

Viel Erfolg!

Ciao,
Sephral

Verfasst: 26. Oktober 2007 16:46
von Antis_81
Vielen Dank.

Leider ist die e-mail Benachrichtigung erstmal im Spam gelandet, so dass ich es erst jetzt mitbekommen habe. Naja.