所以我尝试使用谷歌搜索,这并没有得到很好的结果。我想做的是以管理员身份运行另一个程序,而不是每次都会出现烦人的UAC。
这个想法就是这个,这个程序需要管理员权限来运行用户将授予的权限。然后这个程序将运行一堆其他程序,这些程序也需要管理员权限。具有管理员权限的程序可以作为管理员运行其他程序,而不是用户单击并允许一堆程序不时地运行。
这将使用户免于遵循许多指令。此外,让程序请求用户允许许多事情看起来非常不专业。它只是一键式程序,可以完成所有工作。
我之所以说谷歌没有取得好成绩,是因为该网页充斥着用户如何以管理员身份运行程序。我希望能够以管理员身份运行另一个程序。
我正在考虑将设置文件放在文件夹上,然后从CMD以管理员身份运行这些文件,但这需要我使用runas
并在自己测试之后,它会一直说密码/用户名错了,但我确信它是。
还有其他提示吗?
答案 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,则用户必须在某个时刻同意提升。