通过注册表项(HKLM \ ... \ WinLogon,Shell)以管理员身份运行应用程序

时间:2018-07-23 11:02:33

标签: windows vb.net visual-studio registry

我已经开发了一个vb.net(Visual Studio 2017,.net Framework 4.6.1)应用程序,应在系统启动时执行,替换Windows 10中的“ explorer”。 为此,我修改了reg键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

和Reg值:

Shell="explorer"

用我的应用程序文件名替换它。

那很好,但是我还需要以管理员身份运行我的应用程序。 我可以在exe属性上选中“以管理员身份运行”复选框,或在我的VS项目的app.manifest上声明它:

<requestedExecutionLevel level="highestAvailable" uiAccess="false" />

这些解决方案阻止Windows注册表在启动时使用Shell值运行我的应用程序。

因此,我问您是否有任何方法可以使用Shell注册表值(或其他方式)来以管理员权限运行应用程序。

非常感谢。 戴夫。

1 个答案:

答案 0 :(得分:4)

我对Kiosk应用程序遇到了同样的问题,该应用程序没有管理员权限,因此无法正常运行。因此,我没有给它授予管理员特权,而是使用reg键降低了整个UAC:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

具有Reg值:

EnableLUA = 0

从那时起,我的应用程序开始运行,没有任何授权问题。

这可能不是您要找的直接解决方案,但是您可以想到的替代方案...