如何创build一个快捷方式从cmd行启动pipe理员权限的应用程序?

我有一个安装程序(Inno-Setup)将我的应用程序安装到用户定义的path。 在安装例程结束时,我想创build一个快捷方式,以pipe理员权限启动应用程序。 该解决scheme应该可以在winXP到Win7的所有win版本上运行。

我能做些什么来达到这个目的?

我知道这是可能的批处理脚本,执行一个讨厌的VB脚本 。 缺点是,cmd窗口popup,它只适用于win7我猜。

我也试过命令mklink创build一个超链接,但它不起作用,因为它是不可能通过设置pipe理特权的参数。

Solutions Collecting From Web of "如何创build一个快捷方式从cmd行启动pipe理员权限的应用程序?"

您可以添加一个注册表键,告诉Windows执行您的程序作为管理员:

HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers ,只需添加一个密钥(REG_SZ) <Path to your exe>与值RUNASADMIN 。 当你启动你的EXE,你会被提示进行管理访问。

有了这个,你可以简单地创建一个正常的快捷方式到你的可执行文件,就像你用Inno-Setup做的那样。

如果您想通过cmd或批处理文件来执行此操作,则可以使用以下命令:

 reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "<Path to your exe>" /t REG_SZ /d RUNASADMIN 

“以管理员身份运行”是可执行文件的属性,而不是快捷方式。 您应该添加所需的清单 ,使Windows提示升高。

要在Windows XP上执行此操作,您将需要使用ShellExecute()runas动词作为不同的用户来运行,但这将删除任何访问本地配置文件的功能。 当它发现它没有以完整的管理员权限运行时,可以从你的exe文件中完成。