【问题标题】:Access denied when trying to execute OpenProcess and TerminateProcess尝试执行 OpenProcess 和 TerminateProcess 时访问被拒绝
【发布时间】:2012-05-28 22:31:15
【问题描述】:

当我使用 Ctrl + F5 从 Visual C++ 2010 Express 编译和执行/调试我的代码时,它执行得很好。

当我尝试执行构建项目后形成的 exe 时,在调用 OpenProcessTerminateProcess 时会产生拒绝访问错误。

任何想法为什么会发生这种情况?

如何解决?

【问题讨论】:

  • 我以管理员身份运行并从一个简单的控制台应用程序调用函数。此外,当我尝试拨打 ExitWindowsEx 时,它会给出拒绝访问错误..

标签: windows visual-c++


【解决方案1】:

一种可能性是它可能是由UAC 引起的。尝试从提升的命令提示符或资源管理器中使用上下文菜单中的“以管理员身份运行”选项启动您的应用程序。

【讨论】:

  • 我以管理员身份登录。
  • @user1232138 -- 这还不够。确保选择“以管理员身份运行”选项并通过提升提示。
  • 问题是我没有为管理员帐户设置任何密码。因此,当我尝试以管理员身份运行程序时,它会显示一些消息框,上面写着“登录失败:用户帐户限制”。是不是我的编译器有更高的权限,所以当我编译和执行程序时,程序继承了更高的权限并得到了令人满意的执行,否则不会发生这种情况??
  • @user1232138 -- MSDN 说 OpenProcess 需要 SeDebugPrivilege。如果您没有运行提升,则必须致电AdjustTokenPrivileges
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-24
  • 1970-01-01
  • 2018-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多