2011-01-05 61 views
1


有必須是得到一個線程的系統當前狀態的功能,因爲
有這樣的應用:http://www.softwareverify.com/cpp/thread-status-monitor/index.html獲得在C線程狀態++ /窗口

必須使用某種API的函數或其他... 我怎樣才能在C++/Windows中獲得線程狀態?
謝謝:)

(這是我今天最後一個問題我保證:))。

+0

出於興趣我下載了線程狀態應用程序(它是免費的)來試用它。它不顯示任何進程,因此在XP中顯示線程信息,所以我只能假定它使用的API調用僅在Vista/Win7中可用 – Tony 2011-01-07 10:17:03

回答

1

您可以使用下面的示例來獲取正在運行的進程,並在您擁有進程標識時顯示線程。

Taking a Snapshot and Viewing Processes

Traversing the Thread List

編輯:得到的句柄線程(S)你有興趣,你可以致電GetExitCodeThread但只會告訴你,如果線程STILL_ACTIVE,直到它結束後,當你可以找到退出代碼。

在搜索您的評論的額外信息時,我也遇到了SO上的this thread,這可能會對您感興趣。

+0

ok,但我看不到THREADENTRY32在哪裏保持線程狀態... – Idov 2011-01-06 17:28:29

+0

@ldov :在回覆您的評論時添加了更多信息。 – Tony 2011-01-07 00:27:13

1

你可以從WMI中獲得最大的回報,Win32_Thread class。鏈接的文章鏈接到您需要的C++代碼。試用WMI Code Creator工具。

+0

好吧,我會嘗試這個WMI,但該代碼創建器工具僅用於.Net語言...... – Idov 2011-01-08 10:42:37

+0

我知道,它很糟糕,它可以用腳本語言來完成,代碼很少。但是查詢本身在任何語言中都是一樣的。使用該工具來驗證您的C++代碼是否正常工作。 – 2011-01-08 11:16:13