2011-05-21 101 views
0

所以我一直都試圖用VB.Net打開一個程序參數,它工作正常,當我使用的快捷方式,但我只是不能得到它與VB.Net工作,我認爲這與這樣的參數有關「--user = test」。VB.Net StartInfo.Arguments不工作

繼承人的爭論和香港專業教育學院使用的String.Format()

Dim CMD As New Process 
    CMD.StartInfo.FileName = "C:\test.exe" 
    CMD.StartInfo.Arguments = "--user=test --pass=test -o test -p 1025 -d0 --verbose -f 60" 
    CMD.StartInfo.UseShellExecute = False 
    CMD.StartInfo.RedirectStandardInput = True 
    CMD.StartInfo.RedirectStandardOutput = True 
    CMD.StartInfo.CreateNoWindow = False 
    CMD.Start() 

任何想法已經試過嗎?

+0

幫助,發佈您的代碼 – volody 2011-05-21 20:37:06

+0

請張貼的完整代碼到你的程序運行不正常,與當它不工作會發生什麼沿部分。 – Gabe 2011-05-21 20:37:42

+0

其他代碼的所有部分是好的,因爲當我嘗試一個參數它的工作原理,其當我嘗試所有那些它不的..當我運行程序出現,而不是一個顯示數據 – 2011-05-21 20:39:02

回答

0

試試這個,retval將是命令echo到控制檯的輸出。我想你想捕捉這是您要重定向STD出來:

Dim CMD As New Process 
CMD.StartInfo.FileName = "C:\test.exe" 
CMD.StartInfo.Arguments = "--user=test --pass=test -o test -p 1025 -d0 --verbose -f 60" 
CMD.StartInfo.UseShellExecute = False 
CMD.StartInfo.RedirectStandardInput = True 
CMD.StartInfo.RedirectStandardOutput = True 
CMD.StartInfo.CreateNoWindow = True 
CMD.Start() 

Dim retval As String = CMD.StandardOutput.ReadToEnd 

CMD.WaitForExit() 
0

實例化的過程是這樣的:

Dim myProcess As New System.Diagnostics.Process() 

不喜歡:

Dim myProcess As New Process() 

它將工作。