2011-01-05 20 views
1


Es muss eine Funktion sein, die den aktuellen Status eines Threads im System bekommt, weil
da diese Anwendung: http://www.softwareverify.com/cpp/thread-status-monitor/index.htmlimmer ein Thread-Zustand in C++/windows

Es muss irgendeine Art von API verwenden Funktion oder etwas ... Wie kann ich einen Thread-Status selbst in C++/Windows bekommen?
Dank :)

(dies ist meine letzte Frage für heute verspreche ich :).)

+0

Aus Interesse habe ich heruntergeladen die Thread-State-App (es ist kostenlos), um es auszuprobieren. Es zeigt keine Prozess und daher Thread-Informationen in XP, so kann ich nur annehmen, dass es nur in Vista/Win7 verfügbare API-Aufrufe verwendet. – Tony

Antwort

1

Sie die folgenden Beispiele verwenden können, um Erhalten Sie die laufenden Prozesse und, wenn Sie eine Prozess-ID haben, die Threads.

Taking a Snapshot and Viewing Processes

Traversing the Thread List

EDIT: Nach den Griff in die Gewinde bekommen (n) in Interesse GetExitCodeThread nennen können, aber das wird Ihnen nur sagen, wenn der Faden STILL_ACTIVE ist bis zum Ende , wenn Sie den Exit-Code finden können.

Bei der Suche nach den zusätzlichen Informationen für Ihren Kommentar stieß ich auch auf this thread auf SO, die für Sie von Interesse sein könnte.

+0

ok, aber ich sehe nicht, wo THREADENTRY32 den Thread-Status enthält ... – Idov

+0

@ldov : Als Antwort auf Ihren Kommentar wurden weitere Informationen zu meiner Antwort hinzugefügt. – Tony

1

Sie erhalten die meisten WMI, Win32_Thread class. Der verknüpfte Artikel verfügt über eine Verknüpfung zu dem C++ - Code, den Sie benötigen. Experimentieren Sie mit dem Tool WMI Code Creator.

+0

ok, ich werde versuchen, diese WMI, aber das Code Creator Tool ist nur für .NET-Sprachen ... – Idov

+0

Ich weiß, es ist scheiße, dass Sie dies in einer Skriptsprache mit so wenig Code tun können. Aber die Abfrage selbst ist in jeder Sprache gleich. Verwenden Sie das Tool, um zu überprüfen, dass Ihr C++ - Code ordnungsgemäß funktioniert. –

Verwandte Themen