C# 如何申请管理员权限?

C# 如何申请管理员权限?,c#,winforms,admin,uac,C#,Winforms,Admin,Uac,我需要我正在制作的程序来请求管理员权限。如果用户拒绝弹出消息,程序将继续,但某些功能将丢失 我已尝试将下面的代码放入app.manifest文件中,但当用户拒绝程序权限时,程序不会启动 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> <requestedExecutionLevel level="highestAvailable" uiAccess="false" />

我需要我正在制作的程序来请求管理员权限。如果用户拒绝弹出消息,程序将继续,但某些功能将丢失

我已尝试将下面的代码放入app.manifest文件中,但当用户拒绝程序权限时,程序不会启动

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


没有办法做到这一点。当你的程序运行时,已经太晚了——你要么有管理员权限,要么没有。如果没有,获得这些管理员权限的唯一方法是以管理员身份重新启动应用程序。

应用程序必须使用ProcessStartInfo Verb=“RunAs”重新启动自身。然后关闭当前实例(非管理员)。

原来的问题不一样@我知道这一点,因为我没有将问题标记为重复问题。我提到的问题只是关于“要么全部,要么什么都没有”的部分,以及应用程序自身决定其提升需求的事实。好的,但这个问题现在已结束,无法发布答案。你只需要发表一条评论。@i486就像我一样。是帕特里克霍夫曼结束了这个问题,但我已经提名这个问题重新开始!无论如何,还有另一种方法:您可以使用
[SecurityPermissionAttribute(SecurityAction.RequestMinimum,Assertion=true)]
对方法进行属性化,并在调用周围使用
try
/
catch