プロセス(またはプロセスID)にハンドルを与えられたプロセス内のすべてのスレッドを列挙するにはどうすればよいですか?私はこれを行うことに興味があるので、さらに各スレッドでEnumThreadWindowsを行うことができます。Windowsのスレッドを列挙する
4
A
答えて
5
Enumerating threads in a process(MSDNブログ)
コードがそこからの抜粋:
#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>
int __cdecl main(int argc, char **argv)
{
HANDLE h = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
if (h != INVALID_HANDLE_VALUE) {
THREADENTRY32 te;
te.dwSize = sizeof(te);
if (Thread32First(h, &te)) {
do {
if (te.dwSize >= FIELD_OFFSET(THREADENTRY32, th32OwnerProcessID) +
sizeof(te.th32OwnerProcessID)) {
printf("Process 0x%04x Thread 0x%04x\n",
te.th32OwnerProcessID, te.th32ThreadID);
}
te.dwSize = sizeof(te);
} while (Thread32Next(h, &te));
}
CloseHandle(h);
}
return 0;
}
1
ToolHelpライブラリは、プロセスのスナップショットを作成し、(他のプロパティの中でも)スレッドを列挙するAPIを提供します。 See MSDN for details。
関連する問題
- 1. Windows Mobileデバイスのタイムゾーンを列挙する
- 2. 列挙Windowsの用紙サイズ
- 3. シングルトンは、列挙型、スレッドの安全性
- 4. Windows Media Foundationオーディオデバイスを列挙します
- 5. UserConsentVerifierAvailability Windows 10の列挙型定義
- 6. Windowsレジストリキーのすべてのサブキーと値を列挙する
- 7. フィルタを使用して列挙型の列挙列を列挙する
- 8. のJavaスレッドは()の挙動
- 9. スレッドによって呼び出される列挙型のシングルトン
- 10. より速い列挙:配列の列挙を利用する
- 11. 列挙型の列挙型の列挙型へのアクセス
- 12. DBの列挙型または列挙型の列挙型
- 13. MySQLデータベースから列挙型のドロップダウンリストを列挙する方法
- 14. Windows上のスレッド
- 15. 列挙<>列挙差
- 16. Win32 - 呼び出しスレッドに属するウィンドウを列挙できますか?
- 17. 列挙型の中の列挙型
- 18. 列挙型の列挙型の作成
- 19. 列挙型内の列挙型
- 20. WPFデータ列挙型の列挙
- 21. Windowsのバッチファイル "for/r"コマンドを使用してディレクトリを列挙する
- 22. オブジェクトを列挙する
- 23. Cコンパイラを列挙する
- 24. ALAssetsLibraryを列挙する
- 25. 列挙するバイトをマーシャル
- 26. 列の列挙を使用したLINQテーブルの列挙
- 27. Delphi - WindowsのSATA IOポート番号の列挙
- 28. CでWindows上のバインドされたUDP/TCPソケットを列挙する方法
- 29. 列挙型の列挙型名を取得します。
- 30. 列挙可能なWindowsコントロールを指定するインターフェイスとは何ですか?
パーフェクト、ありがとう! – bdonlan
必要な主要なAPI関数を少なくともリストしておくとよいでしょう。リンクが壊れてもこの答えが完全に役に立たなくなることはありません(MSDNはURLを変更する傾向があります) –