无需UAC提示即可以管理员身份运行应用程序

Windows操作系统中,用户账户控制(UAC)是一种安全机制,用于防止恶意程序在未经用户许可的情况下更改系统设置。然而,这也意味着每次以管理员身份运行程序时,用户都会收到一个提示。对于经常需要以管理员权限运行的应用程序,如Visual Studio,这可能会变得非常烦人。本文将介绍一种方法,可以在不关闭UAC的情况下,避免这些提示。

Visual Studio是一个强大的集成开发环境,它在以管理员身份运行时能够更好地工作。通常,用户可以通过右键点击图标并选择“以管理员身份运行”来实现这一点。但是,这种方法并不总是能够记住用户的设置,导致每次打开Visual Studio时都需要重复此操作。此外,如果通过解决方案文件或其他快捷方式打开Visual Studio,它也不会以管理员身份运行。

解决方案

为了解决这个问题,可以创建一个批处理文件,该文件将应用程序的路径写入磁盘,然后调用一个计划任务,该任务调用另一个批处理文件,该文件读取文本文件,获取所需的文件,然后调用应用程序,并将此作为参数传递。这种方法虽然复杂,但确实有效。

在2015年4月13日的更新中,作者通过VBScript包装了批处理文件调用,以防止命令窗口弹出。

这个解决方案涉及六个关键文件:

  • install.bat
  • RunVisualStudioAsAdminNoUACPrompt.xml
  • VS2013.bat
  • VS2013.vbs
  • RunVS.bat
  • RunVS.vbs

这个批处理文件创建必要的目录,将批处理文件复制到这些目录中,导入计划任务,并更改文件关联。

这是由install.bat导入的计划任务定义。

这个文件代替Visual Studio被调用。它决定是否加载文件,然后将此信息保存到临时文件中。

这个文件由计划任务以提升的权限调用,但不会提示用户。它检查临时文件,然后调用Visual Studio可执行文件,如果适用,传递要打开的文件。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485