1

クリック イベントで次のコードを実行しようとしています。ただし、cmd シェルでコマンドを実行するため、なぜ実行されないのかわかりません。私ができることは、引数をコメントアウトして、cmd.exeを管理者として開くことです。これらの引数を .bat ファイルに貼り付けてから、process.start から実行します。

しかし、引数を指定してシェルを実行できないのはなぜですか? 引数を .bat ファイルに入れるよりも、この方法をお勧めします。

    Dim process As New System.Diagnostics.Process()
        Dim startInfo As New System.Diagnostics.ProcessStartInfo()
        ' startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden

        startInfo.FileName = "cmd.exe"
        If System.Environment.OSVersion.Version.Major >= 6 Then ' Windows Vista or higher
            startInfo.Verb = "runas"
        Else
            ' No need to prompt to run as admin
        End If
        startInfo.Arguments = "/C bcdedit /set {current} safeboot network"
        process.StartInfo = startInfo
        process.Start()
4

1 に答える 1

0

理解した。プロジェクトに bcdedit.exe をコピーする必要がありました。cmd.exe を呼び出すと、bcdedit.exe がある場所に移動すると思っていました。

于 2013-07-31T15:18:55.283 に答える