程序如何要求管理员特权?
时间:2020-03-06 14:20:18 来源:igfitidea点击:
我正在VB.NET中的一个小型应用程序上工作。该程序需要管理员特权才能执行某些任务。如果有程序,是否可以在执行过程中要求管理员特权?
更改运行应用程序的用户帐户的一般方法是什么?
解决方案
我们可以在应用程序的清单文件中指定此名称。
签出此链接,此链接以及此链接。
有多种方法可以根据需求进行选择。 UAC的应用程序开发人员要求中提供了一些详细信息。
- 包括一个UAC清单,该清单使程序在启动时需要管理员权限。
- 使用建议的方法之一调用高程以耗尽过程。最好的方法之一是使用COM标高标记和
CoCreateInstanceAsAdmin
来调用以管理员身份运行的COM对象上的方法。要在VB.Net中工作可能很棘手。我在C ++中可以正常工作 - 另一个好的方法是将需要管理员特权的代码部分隔离到使用UAC清单要求管理员特权的应用程序中。在这种情况下,主应用无需以管理员身份运行。当我们需要管理员特权时,我们将调用外部应用程序。
Try Dim procInfo As New ProcessStartInfo() procInfo.UseShellExecute = True procInfo.FileName = 'Filename here procInfo.WorkingDirectory = "" procInfo.Verb = "runas" Process.Start(procInfo) Catch ex As Exception MsgBox(ex.Message.ToString(), vbCritical) End Try End If