我想用 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/