有人知道为什么当我尝试使用 PROCESS_ALL_ACCESS 作为所需访问权限调用 OpenProcess 时,MSVC++ 2008 总是在 GetLastError() 上返回错误 5 吗? PROCESS_VM_READ 工作得很好。我是这台计算机的管理员,它在 Dev C++ 中运行良好。
我需要在某处设置选项吗?
最佳答案
如果进程不是在您的凭据下或在您的登录 session 中运行的进程,则打开具有完全访问权限的进程可能是一项高特权操作 - 您需要遵循 MSDN 中的以下文档:
To open a handle to another process and obtain full access rights, you must enable the SeDebugPrivilege privilege. For more information, see Changing Privileges in a Token.
请记住,即使您拥有特权,在大多数情况下该特权并未启用 - 它必须在尝试使用该特权的代码中专门启用。
关于c++ - VC++ 2008,OpenProcess 总是返回错误 5(拒绝访问),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/169355/