![]() |
1
3
为了查询有关您无法直接访问的进程的信息,您需要具有SeDebugPrivilege*。如果这是在Vista上,您很可能是以标准用户身份运行,并且您没有该权限。您需要以管理员身份运行程序(请注意,TaskManager必须以管理员身份运行才能获取所有进程的信息。) 如果您以管理员身份运行,则问题很可能是默认情况下未启用SeDebugPrivilege。这是因为SeDebugPrivilege是一个一直拥有的非常危险的特权。您可以通过调用 AdjustTokenPrivileges 应用程序编程接口。这个KB article *SeDebugPrivilege是对 OpenProcess 和 OpenThread . Toolhelp必须在内部调用这些函数来查询系统中进程和线程的信息。这些功能将检查 ACL 查看您是否具有访问权限。用户通常只被授予对其创建的进程的权限。如果调用代码在其令牌中具有SeDebugPrivilege,则即使代码未被ACL授予访问权限,OpenProcess和OpenThread也将成功。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 4 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 4 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |