6

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

所以问题是:我怎样才能获得关于所有进程的信息(我看到它是由 3rd-party 应用程序完成的,但我看不到如何)?是否可以在没有管理员权限的情况下执行此操作?

4

1 回答 1

2

您是否熟悉CreateToolhelp32Snapshot以及此功能以及Process32First

我发现了这个代码项目,当我不久前使用它时,它对我帮助很大......

于 2012-04-14T21:07:10.440 回答