我有一个带有此代码的按钮
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")
但似乎没有用。任何想法的人?
答案 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""")