代码之家  ›  专栏  ›  技术社区  ›  Adrian

如何使应用程序自动以管理员权限运行?

  •  0
  • Adrian  · 技术社区  · 7 年前

    我制作了一个控制台应用程序,它应该更新一些注册表项,这样我就可以从64位应用程序访问32位COM组件。如果我有管理权限,它工作得很好,但我似乎无法让应用程序运行与管理权限开箱即用。

    这就是我所做的。

    1. 创建Windows控制台应用程序。
    2. 添加我的代码。
    3. 右键单击我的项目并选择属性。
    4. 引导到 Configuration Properties > Linker > Manifest File > UAC Execution Level 并设置为 requireAdministrator (/level='requireAdministrator') .

    enter image description here

    解决这个问题花了很多时间,因为web上的所有信息都是针对visual studio 2010或更早版本的,这需要手动创建一个xml清单文件,并且与它创建的自动生成的清单文件冲突。

    然而,这似乎不足以让它作为管理员运行。很遗憾,这些信息不容易找到。还有什么我遗漏的步骤吗?像签合同的过程?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Adrian    7 年前

    结果就是这个迷你应用程序是如何运行的。

    从我的主程序,使用 ShellExecute() ShellExecuteEx() "runas" verb将允许以管理员权限运行此可执行文件,而不弹出uac对话框。

    但是,从命令行运行此命令将导致在用户的安全上下文中执行此迷你应用程序,这就是我所做的。

    推荐文章