Win32:如何在C++中枚举属于进程的所有线程
Win32: How do I enumerate all the threads belonging to a process in C++?
可能的重复项:
枚举窗口中的线程
我正在尝试枚举属于 Win32 窗口进程的所有线程。
我知道我可以像这样获取进程 ID:
PDWORD procId;
GetWindowThreadProcessId(hwnd, procId);
我知道整个事情可以用 C# 完成,如下所示:
// get process that owns the taskbar window
int procId;
GetWindowThreadProcessId(hwnd, out procId);
Process p = Process.GetProcessById(procId);
if (p != null)
{
foreach (ProcessThread t in p.Threads)
{
...
}
}
但据我所知,Process 类是一个 .NET 类(如果我错了,请纠正我(,我正在尽最大努力避免 .NET 依赖项。(阅读:请不要告诉我只使用 .NET。
所以问题是:鉴于我已经正确检索了 PID,是否有 Win32 等效项?
(作为旁注,我看到另一个问题中引用了工具帮助库,但不确定它是最佳选择。如果是,您能否简要解释/演示我将如何实现这一目标或将我引导到其他人的?
与往常一样,非常感谢所有的帮助。
请参阅在 Windows 中线程行走和枚举线程
相关文章:
- boost::进程间消息队列引发错误
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 是否可以通过C++扩展强制多个python进程共享同一内存
- IPC使用多个管道和分支进程来运行Python程序
- 异常属于C++中的线程还是进程
- WMI检测进程创建事件-c++
- 为什么我不能将一个对象push_back到属于另一个类的对象向量中?
- c++多进程编写一个唯一的文件
- 如果我已经有一个头,那么模板(-t)文件属于哪里
- 如何在C++中将函数发送到另一个进程
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 终止 QProcess 不会终止子进程
- 进程如何访问不属于其虚拟地址空间的内存映射 IO 地址?
- 使用SendMessage将文本输入到属于另一个进程的编辑控件中
- 在Windows中,如何使用C++或C#在属于另一进程的窗口中获取高亮显示的文本
- Win32:如何在C++中枚举属于进程的所有线程
- C++/Win32 枚举属于我的进程的窗口并关闭它们
- Windows如何知道哪个消息属于哪个进程
- 找到属于我的进程的z顺序中最高的非子窗口
- 执行属于其他进程的外部功能