嗨,我有一个非常烦人的问题,我无法理解原因。
我有 ac# 表单应用程序,它在 main 中接收一些 args 并使用它们连接到设备(ip、port、user、passw)。它还会打印这些参数以查看它们是否正确。
现在,如果我使用 Windows 提示符中的参数调用 exe,一切正常。但是,如果我使用运行时 exec() 函数从 java 执行相同的操作,应用程序将启动,以与以前完全相同的方式打印正确的参数,但不连接!
好像论点是错误的……有什么建议吗?也许 exec 传递与提示不同?
我已经用 vs 调试了这个过程,变量在两种情况下都是相同的,但是连接函数(这提醒了设备供应商的第三方库)
代码
public MyForm(string[] args)
{
InitializeComponent();
if (args.Length > 0)
{
this.IP = args[0];
this.PASSWORD = args[4];
this.ID = args[3];
this.PORT = args[1];
this.logTextArea.AppendText("Connection to " +
IP +":"+PORTA+" "+ID+" "+
PASSWORD+"\n");
} else set fixed values
JAVA
Runtime.getRuntime().exec("MyForm.exe IP PORT NOT_USED ID PASSW");