c++ - 检测子进程

标签 c++ windows

有没有办法(在 C++ 和 Windows XP 中)检测一个进程是否产生任何其他进程?

例如,

system32 中的 write.exe 生成 wordpad.exe 然后消失,是否有函数告诉我进程是否即将执行此操作?

对于那些感兴趣的人,我使用 msdn 的这一部分解决了这个问题:
http://msdn.microsoft.com/en-us/library/aa390425(v=VS.85).aspx

最佳答案

Win32 API 中没有这方面的内容。但是,通过 WMI 和 Win32_ProcessStartTrace 查询支持它。您会在我在 this thread 的回答中找到一些演示查询的 C# 代码。 .用 C++ 编写 WMI 代码相当痛苦,您会在 MSDN 库文章中找到指向必须编写的样板代码的链接。

请注意,这不是特别快。我不清楚 WMI 提供程序从内核获得多少帮助来生成通知,但考虑到它像轮询一样嘎嘎作响的速度。换句话说,当您收到通知时,该过程可能已经在进行中。这对于多任务操作系统类(class)来说是标准的。

关于c++ - 检测子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934898/

相关文章:

python - 在 Windows 中复制 fork() 的最佳方法是什么?

C++ 类型 'double' 和 'const char [5]' 到二进制 'operator+' 的无效操作数

c++ - C++中如何访问类变量

c++ - 具有初始化参数的函数定义和具有较少参数的函数调用

c++ - 生成带有像素的图像的库

.net - 在 Crystal Reports 中模拟

c++ - 将数组中的对象放置在各个位置 OpenGL GLUT C++

linux - 在一个 Web 应用程序下托管两个网站 - Azure 服务

c# - C# 程序如何以管理员权限运行另一个程序?

Java - String.contains() 行为异常