【问题标题】:C++ Get file location of process without elevated rightsC ++获取没有提升权限的进程的文件位置
【发布时间】:2014-01-30 01:34:00
【问题描述】:

我想知道如何在没有提升权限的情况下找到进程的完整位置。我尝试使用 PROCESS_QUERY_INFORMATION 执行此操作,但它需要管理员权限。在没有提升权限的情况下在 C# 中很容易做到,但我似乎无法在 C++ 中找到解决方案。有什么帮助吗?

【问题讨论】:

  • 你在 C# 中的表现如何?

标签: c++ winapi location


【解决方案1】:

QueryFullProcessImageName 只需要PROCESS_QUERY_LIMITED_INFORMATION 权限,不需要管理员权限。

【讨论】:

  • 谢谢!我已经尝试过这个,但后来它“没有用”。我一直在检查 GetLastError 的返回值,但我忘了用 SetLastError 重置它。结果它可能已经工作了
  • GetLastError 仅在之前的 API 失败时才给出有意义的值。使用 SetLastError 重置它是不可靠的,因为即使函数没有失败,API 函数也可能会更改错误值。换句话说,您应该只在 QueryFullProcessImageName 返回 FALSE 时调用 GetLastError。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-21
  • 2018-06-11
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
  • 1970-01-01
相关资源
最近更新 更多