C# 如何在操作系统windows启动时始终以管理员权限启动wpf应用程序

C# 如何在操作系统windows启动时始终以管理员权限启动wpf应用程序,c#,wpf,windows,startup,wix3.7,C#,Wpf,Windows,Startup,Wix3.7,我有一个wpf应用程序正在锁定窗口,我想输入一个用户的密码,该用户将通过鼠标单击(或使用手机读取二维码)将密码输入我的表单。因此,用户不得通过任务管理器或任何快捷方式终止应用程序 我研究了很多问题,但没有找到确切的解决办法。我想这样做,用户必须授予管理员权限的应用程序安装时。当windows启动时,应用程序将自动以管理员权限启动。因为应用程序需要在运行时通过编辑regedit禁用任务管理器。当锁屏打开时,任务管理器将再次启用 RegistryKey objRegistryKey = Regist

我有一个wpf应用程序正在锁定窗口,我想输入一个用户的密码,该用户将通过鼠标单击(或使用手机读取二维码)将密码输入我的表单。因此,用户不得通过任务管理器或任何快捷方式终止应用程序

我研究了很多问题,但没有找到确切的解决办法。我想这样做,用户必须授予管理员权限的应用程序安装时。当windows启动时,应用程序将自动以管理员权限启动。因为应用程序需要在运行时通过编辑regedit禁用任务管理器。当锁屏打开时,任务管理器将再次启用

RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
            @"Software\Microsoft\Windows\CurrentVersion\Policies\System");
            if (objRegistryKey.GetValue("DisableTaskMgr") == null)
                objRegistryKey.SetValue("DisableTaskMgr", "1");
            else
                objRegistryKey.DeleteValue("DisableTaskMgr");
            objRegistryKey.Close();
可能吗?如果没有,我还能做什么。我应该使用windows服务吗


我使用wix安装程序进行安装

您可以在这里尝试这种方法,它使用windowapi使用一组已知凭据进行登录

这种方法应该放在启动时,然后再做其他事情


视情况而定。有两种方法。一个是您需要管理员凭据以管理员权限注册应用程序,另一个是请求用户允许其以管理员身份运行。你想要的是哪一个?可能是@LupuSilviu的重复项我想做的第一个可能是这将有助于@DanielFilipov我不想在每次启动时都显示UAC提示。该应用程序将在安装步骤上获得管理员权限,无需再次询问。我想这是不可能的。我会尝试卢普·西尔维乌的答案,但这并不是我想要的