程序如何要求管理员特权?

时间: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