程序启动时如何请求管理员权限?

How to request administrator permissions when the program starts?(程序启动时如何请求管理员权限?)
本文介绍了程序启动时如何请求管理员权限?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要我的软件能够在 Windows Vista 上以管理员身份运行(如果有人在没有管理权限的情况下运行它,它会崩溃).

I need my software to be able to run as administrator on Windows Vista (if someone runs it without administrative permissions, it will crash).

在启动其他软件时,我看到系统提示此软件将以管理员身份运行.您要继续吗?"当应用试图获取管理权限时.

When launching other software, I've seen a prompt by the system like "this software will run as administrator. do you want to continue?" when the app was trying to acquire administrative privileges.

在 Windows Vista 上运行 c# 应用时如何请求管理权限?

How do I request administrative privileges when running an c# app on Windows Vista?

推荐答案

将以下内容添加到清单文件中:

Add the following to your manifest file:

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

您也可以使用 highestAvailable 作为关卡.

You can also use highestAvailable for the level.

看看这里关于嵌入清单文件:

Look here about embedding manifest files:

http://msdn.microsoft.com/en-us/library/bb756929.aspx

PS:如果你没有清单文件,你可以很容易地添加一个新的:

PS: If you don't have a manifest file, you can easily add a new one:

在 Visual Studio 中,右键单击项目 -> 添加项目 -> 选择应用程序清单文件(在 Visual C# 项目的 General 下)

In Visual Studio, right click project -> Add Item -> Choose Application Manifest File ( under General for Visual C# items)

添加的文件已经有了上面的部分,只需将级别从asInvoker

The added file will already have the above part, just change the level to requireAdministrator from asInvoker

这篇关于程序启动时如何请求管理员权限?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)