c++ - C语言监控Windows操作系统进程

标签 c++ c windows

我想用 C 或 C++ 创建一个应用程序,它必须监视一些特定的进程。我怎样才能在 C 中实现它?

最佳答案

您说您必须监控“某些特定流程”。如果您的应用程序启动了进程,您可以从传递给 CreateProcess 函数的 PROCESS_INFORMATION 结构(字段 hProcess)中提取进程句柄。如果您要跟踪的进程已经以某种不同的方式启动,您需要进程的 ID (PID),并将其用作 OpenProcess 的第三个参数以获得句柄。因此,您可以使用 WaitForSingleObject 或 WaitForMultipleObjects 函数来等待进程完成。您可以选择使用 GetExitCodeProcess 函数获取进程的退出代码。 应用程序可以通过其他方式启动新进程(例如通过 _system() 库函数),但我强烈建议直接在代码中使用 CreateProcess,因为您可以完全控制子进程的行为(例如,您可以选择优先级,传递 stdin/stdout/stderr 句柄,决定启动窗口的特性...)。

建议示例: http://msdn.microsoft.com/en-us/library/ms682512%28VS.85%29.aspx

关于c++ - C语言监控Windows操作系统进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406642/

相关文章:

c++ - if ('fstream object' ) 如何根据文件是否打开返回真值或假值?

c++ - ZMQ::send()引发异常并杀死QNX进程。为什么以及如何从中恢复?

c - (C) 如何将 strncat() 与 **argv 一起使用?

c++ - 根据第三个整数的符号快速加/减两个整数

windows - 是否有用于在 Windows 8.1 上启用/禁用蓝牙的 API?

excel - 如何通过Powershell查看Excel安装的是64位还是32位?

windows - 使用批处理文件遍历列表

c++ - 稳定的婚姻问题幸福系数

java - 从 Java 代码调用 C++ 的问题 (Android)

c - 斐波那契数列出了问题?