windows - 标记一个 .exe 来请求(不是要求)以管理员身份运行

标签 windows uac

有没有办法标记 .EXE 以请求它以管理员身份运行?这样:

  1. 如果 UAC 设置为以管理员身份运行而不提示 - 它将以管理员身份运行。
  2. 如果用户无法以管理员身份运行(需要不同的登录名),则以用户身份运行。
  3. 如果有提示,则提示用户。如果接受,则以管理员身份运行。
  4. 如果提示被拒绝,则以用户身份运行。

我知道如何使用 2 个 .exe 程序来执行此操作。但我想用一个来做。该程序输入用户的许可证 key 。在 HKLM 中,如果应用程序具有管理员权限(因此所有用户都拥有 key )。在 HKCU 中,如果没有管理员权限。

最佳答案

如果用户拒绝提升提示,则无法标记可执行文件,使其在没有管理员权限的情况下继续运行。但是,进程可以尝试使用提升的权限从同一可执行文件启动其自身的第二个副本,并将工作传递给新进程(如果成功启动)或继续本身的工作(如果未启动)。

参见this answer举个如何提升自己的例子。

关于windows - 标记一个 .exe 来请求(不是要求)以管理员身份运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13041046/

相关文章:

c - 几个 Eclipse C/C++ 问题

windows - 如何在 Windows 上的 Git Gui 或 Gitk 中撤消硬重置?

ios - 在 Windows 上符号化 iOS 崩溃报告

c++ - 如何为我的应用程序禁用 UAC

c# - 如何以编程方式将 UAC 的 consent.exe 带到前台?

c# - 当进程提升时,如何获取非提升 session 的 Windows 身份验证 ID

c# - 如何用字符串中的唯一名称替换完整路径名?

C++ CMake 找不到 Boost 1.63(使用 CLion IDE)

installation - 如何在 NSIS 中需要和不需要管理员权限之间切换?

c++ - 以编程方式在 Windows 7 上启动 sfx 存档(使用 _execv)? (C++)