2011-05-21 62 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() 

它将工作。