【问题标题】:Retrieving a complete list of Windows processes in C在 C 中检索 Windows 进程的完整列表
【发布时间】:2012-04-26 18:57:28
【问题描述】:

我正在为 Windows 开发一个简单的进程统计收集库。我正在使用EnumProcesses() 函数枚举进程,并尝试使用带有PROCESS_QUERY_INFORMATION 标志的OpenProcess() 调用打开它们。但是,后者在一堆系统进程中失败了。同时,我看到类似的应用程序(sysinternals 工具、任务管理器等)似乎能够检索有关这些进程的信息,即使不需要管理员权限。我尝试启用 SeDebugPrivilege 权限,但只有当我以管理员身份运行我的程序时它才有帮助——而且我仍然无法打开空闲进程、系统进程和 audiodg 进程(我希望能够检索他们的一致性信息)。

所以问题是:我怎样才能获得有关所有进程的信息(我看到它是由第 3 方应用程序完成的,但我不知道如何)?没有管理员权限可以吗?

【问题讨论】:

    标签: c windows winapi windows-7


    【解决方案1】:

    你熟悉CreateToolhelp32Snapshot和这个功能吗Process32First

    我发现了这个code-project,当我前一阵子使用它时,它对我帮助很大......

    【讨论】:

    • 哦,你写的是windows 7,我不知道它是否适用于非特权用户的win7,如果它有效,请告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 2016-11-13
    相关资源
    最近更新 更多