以管理员身份运行其他程序

时间:2013-05-29 01:25:51

标签: windows vb.net admin uac

所以我尝试使用谷歌搜索,这并没有得到很好的结果。我想做的是以管理员身份运行另一个程序,而不是每次都会出现烦人的UAC。

这个想法就是这个,这个程序需要管理员权限来运行用户将授予的权限。然后这个程序将运行一堆其他程序,这些程序也需要管理员权限。具有管理员权限的程序可以作为管理员运行其他程序,而不是用户单击并允许一堆程序不时地运行。

这将使用户免于遵循许多指令。此外,让程序请求用户允许许多事情看起来非常不专业。它只是一键式程序,可以完成所有工作。

我之所以说谷歌没有取得好成绩,是因为该网页充斥着用户如何以管理员身份运行程序。我希望能够以管理员身份运行另一个程序。

我正在考虑将设置文件放在文件夹上,然后从CMD以管理员身份运行这些文件,但这需要我使用runas并在自己测试之后,它会一直说密码/用户名错了,但我确信它是。

还有其他提示吗?

1 个答案:

答案 0 :(得分:15)

您可以使用以下命令从应用程序运行其他应用程序:

Process.Start("Notepad.exe")

如果您的原始程序正在运行Elevated(作为管理员),那么记事本将以管理员身份运行(不会有UAC提示)

如果您的原始程序正在运行Elevated并且您想要启动升级的应用程序(作为管理员),则必须执行以下操作(这将提示提升):

    Dim procStartInfo As New ProcessStartInfo
    Dim procExecuting As New Process

    With procStartInfo
        .UseShellExecute = True
        .FileName = "Notepad.exe"
        .WindowStyle = ProcessWindowStyle.Normal
        .Verb = "runas" 'add this to prompt for elevation
    End With

    procExecuting = Process.Start(procStartInfo)

请注意,无法绕过UAC提示。如果启用了UAC,则用户必须在某个时刻同意提升。

相关问题