VB.Net Process.Start - 动词
VB.Net Process.Start - Verb
我想让我的 vb.net 程序启动记事本并提升凭据,但是没有提示,程序只是打开。
Dim process As System.Diagnostics.Process = Nothing
Dim processStartInfo As System.Diagnostics.ProcessStartInfo
processStartInfo = New System.Diagnostics.ProcessStartInfo()
processStartInfo.FileName = "notepad.exe"
processStartInfo.Verb = "runas"
processStartInfo.Arguments = ""
processStartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
processStartInfo.UseShellExecute = True
process = System.Diagnostics.Process.Start(processStartInfo)
那里有很多不必要的代码。当你每次只需要一个时,你使用两行来声明和设置你的两个变量。当您可以将参数传递给构造函数时,您正在显式设置 FileName
属性 并且还将三个属性设置为其默认值。我只是将它剥离到最低限度:
Dim psi As New ProcessStartInfo("notepad.exe") With {.Verb = "runas"}
Dim proc = Process.Start(psi)
当我 运行 来自一个新的 WinForms 应用程序的代码时,表单上只有一个 Button
,并且我得到了预期的 UAC 提示。
我想让我的 vb.net 程序启动记事本并提升凭据,但是没有提示,程序只是打开。
Dim process As System.Diagnostics.Process = Nothing
Dim processStartInfo As System.Diagnostics.ProcessStartInfo
processStartInfo = New System.Diagnostics.ProcessStartInfo()
processStartInfo.FileName = "notepad.exe"
processStartInfo.Verb = "runas"
processStartInfo.Arguments = ""
processStartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
processStartInfo.UseShellExecute = True
process = System.Diagnostics.Process.Start(processStartInfo)
那里有很多不必要的代码。当你每次只需要一个时,你使用两行来声明和设置你的两个变量。当您可以将参数传递给构造函数时,您正在显式设置 FileName
属性 并且还将三个属性设置为其默认值。我只是将它剥离到最低限度:
Dim psi As New ProcessStartInfo("notepad.exe") With {.Verb = "runas"}
Dim proc = Process.Start(psi)
当我 运行 来自一个新的 WinForms 应用程序的代码时,表单上只有一个 Button
,并且我得到了预期的 UAC 提示。