将参数传递给EXE

时间:2013-05-24 06:42:52

标签: vb.net process

我有一个带有此代码的按钮

Process.Start("start system\now.exe")

现在我想从Texbox传递参数,但我不知道如何。我试过了:

Process.Start("system\now.exe -connect -ip 127.0.0.1 -PORT 910 " & "-USER " & TextBox1.Text & "-PWD " & TextBox1.Text " -serial x4r7680")

但似乎没有用。任何想法的人?

3 个答案:

答案 0 :(得分:3)

您需要使用参数传入ProcessStartInfo对象。有关ProcessStartInfo类的信息,请参阅MSDN文档中的页面。

基于粗略阅读文档,您的示例如下所示:

Dim startInfo as ProcessStartInfo("system\now.exe")
startInfo.Arguments = "-connect -ip 127.0.0.1 -PORT 910 " & "-USER " & TextBox1.Text & "-PWD " & TextBox1.Text " -serial x4r7680"
Process.Start(startInfo)

答案 1 :(得分:2)

查看ProcessStartInfo课程。一个例子:

Dim startInfo As New ProcessStartInfo("IExplore.exe")
startInfo.WindowStyle = ProcessWindowStyle.Minimized

Process.Start(startInfo)

startInfo.Arguments = "www.northwindtraders.com"

Process.Start(startInfo)

但您也可以使用另一个overload of the Start方法来传递命令行参数。再举一个例子:

' Start a Web page using a browser associated with .html and .asp files.
Process.Start("IExplore.exe", "C:\myPath\myFile.htm")
Process.Start("IExplore.exe", "C:\myPath\myFile.asp")

或在你的情况下:

Process.Start("system\now.exe","-connect -ip 127.0.0.1 -PORT 910 " & "-USER " & TextBox1.Text & "-PWD " & TextBox1.Text " -serial x4r7680")

Dim startInfo As New ProcessStartInfo(“system \ now.exe”)

Process.Start(startInfo)

startInfo.Arguments = "-connect -ip 127.0.0.1 -PORT 910 " & "-USER " & TextBox1.Text & "-PWD " & TextBox1.Text " -serial x4r7680"

Process.Start(startInfo)

如果TextBox1.Text包含空格,则需要小心(取决于程序如何解析命令行选项),除非用引号括起来,否则最终可能会错误地解析它们。

答案 2 :(得分:0)

好的,我确定您遇到的问题是参数的引号“”。 此示例使用参数参数。

试试这个:

Process.Start("system\now.exe", """" & "-connect -ip 127.0.0.1 -PORT 910 " & "-USER " & lblSubirLlamadasTimeInterval.Text & "-PWD " & lblSubirLlamadasTimeInterval.Text & "-serial x4r7680""")