3

CMDをサイレントに実行しようとしていますが、エラーが発生するたびにエラーが発生します。誰かが私がどこで間違っているのか教えてもらえますか?

Dim myProcess As Process 
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden 
myProcess.StartInfo.CreateNoWindow = True 
myProcess.StartInfo.FileName = ("cmd.exe" & CmdStr) 
myProcess.Start() 

CmdStrは、アプリケーションで必要な特定のことを実行するための文字列です。

4

1 に答える 1

10

あなたのcmdStrはCMDのパラメータを持つ文字列だと思います。
その場合は、StartInfoのArgumentsプロパティを使用する必要があります。
myProcess変数はnewでインスタンス化されないため、Null例外が発生します。静的Process.Startメソッドで使用するProcessStartInfo変数を作成し、UseShellExecuteをFalseに設定できます。

Dim startInfo As New ProcessStartInfo("CMD.EXE")
startInfo.WindowStyle = ProcessWindowStyle.Hidden     
startInfo.CreateNoWindow = True 
startInfo.UseShellExecute = False
startInfo.Arguments = CmdStr
Process.Start(startInfo)  

またはコードを編集して追加します

myProcess = new Process() 

varmyProcessを使用する前に

于 2012-09-18T13:16:13.190 に答える