- 主题:OpenProcess获取HANDLE失败
我想获取系统所有进程的内存使用情况
1. 利用EnumProcesses得到了所有的PID
2. 利用OpenProcess获得对应PID的HANDLE
...
第2步执行有些问题,不能获取非当前用户进程的HANDLE。
OpenProcess的参数用的是PROCESS_QUERY_INFORMATION | PROCESS_VM_READ
由于系统加密的原因,源代码一时贴不上来。
--
FROM 60.10.57.59
一般是权限问题。管理员才有权限操作所有的进程。具体看错误码
【 在 klglfgljl (小鼠) 的大作中提到: 】
: 我想获取系统所有进程的内存使用情况
: 1. 利用EnumProcesses得到了所有的PID
: 2. 利用OpenProcess获得对应PID的HANDLE
: ...
--
FROM 222.131.205.*
windows用户是管理员权限。我查查错误码...错误码是5,访问被拒绝。
...
If the specified process is the Idle process or one of the CSRSS processes, this function fails and the last error code is ERROR_ACCESS_DENIED because their access restrictions prevent user-level code from opening them.
这是错误码5的说明。
....
【 在 z16166 的大作中提到: 】
: 一般是权限问题。管理员才有权限操作所有的进程。具体看错误码
--
修改:klglfgljl FROM 60.10.57.59
FROM 60.10.57.59
搜一下SE_DEBUG_NAME
有些特殊进程是不允许操作的,比如DRM的进程
还有些是某些安全软件之类的自保护驱动会拦截你去操作它们的进程。
【 在 klglfgljl 的大作中提到: 】
: windows用户是管理员权限。我查查错误码...错误码是5,访问被拒绝。
: ...
: If the specified process is the Idle process or one of the CSRSS processes, this function fails and the last error code is ERROR_ACCESS_DENIED because their access restrictions prevent user-level code from opening them.
: ...................
--
FROM 222.131.205.*