我已经开发了一个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
注册表值(或其他方式)来以管理员权限运行应用程序。
非常感谢。 戴夫。
答案 0 :(得分:4)
我对Kiosk应用程序遇到了同样的问题,该应用程序没有管理员权限,因此无法正常运行。因此,我没有给它授予管理员特权,而是使用reg键降低了整个UAC:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
具有Reg值:
EnableLUA = 0
从那时起,我的应用程序开始运行,没有任何授权问题。
这可能不是您要找的直接解决方案,但是您可以想到的替代方案...