使用 C 语言的 WinApi 获取进程状态(活动或非活动)

发布于 2024-12-09 07:04:16 字数 200 浏览 0 评论 0原文

在我的项目操作系统课程中,我们必须获取进程状态。我们用c 编码。

输出示例:

Process No Process Id Program Name Status Handle Count

1          5780       notepad.exe  ACTIVE 1

如何获取状态和处理计数?

At my operating system course in a project we have to get process status. We are coding with c.

Example output:

Process No Process Id Program Name Status Handle Count

1          5780       notepad.exe  ACTIVE 1

How can i get status and handle count?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雨后彩虹 2024-12-16 07:04:16

使用 OpenProcess 并使用 PROCESS_QUERY_INFORMATION 作为所需的访问权限(或者使用之前获得的句柄,可能来自 CreateProcess< /a>),然后尝试使用 GetExitCodeProcess< /a>.如果它返回STILL_ACTIVE,则进程尚未终止,否则已终止。不要忘记使用 关闭句柄

Get a process handle using OpenProcess with PROCESS_QUERY_INFORMATION as the desired access (or use a handle previously obtained, possibly from CreateProcess), then try to get its termination status using GetExitCodeProcess. If it returns STILL_ACTIVE, the process has not terminated yet, otherwise it has. Don't forget to close the handle using CloseHandle

眼泪也成诗 2024-12-16 07:04:16

前 2 或 3 列或多或少都是琐碎的。查找 msdn 以获取进程枚举。
句柄枚举有点棘手,但也是可行的,请参阅以下内容:
link1 link2

The first 2 or 3 columns are more or less trivial. Look up msdn for process enumeration.
Handle enumeration is a bit trickier, but also doable, see these:
link1 link2

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文