2016-04-16 15 views
0

我处于需要使用SWT功能Program.launch()的情况,但我也需要使用它的参数。简而言之:我怎样才能做到这一点?它甚至有可能吗?SWT:如何在OS X上使用Program.launch()和参数?

我已经尝试了“正常的Mac的方式”做这样的事情的:

Program.launch("/Applications/SomeApp.app --args myarg");

这是不成功的,并且毫无结果发生(甚至不是一个错误)。我怀疑这是因为Program.launch()不只是通过命令行运行,而是运行其他一些特定于操作系统的方法。做的只是Program.launch("/Applications/SomeApp.app");工作正常,但显然缺乏论据。

我的情况在this question中更多地解释了Java.apps可以打开其他.apps。在那里我解释了如何使用open不起作用,所以我不得不使用替代方案,其中Program.launch()看起来是一个不错的选择。

所以基本上,有没有办法使用Program.launch()来应用程序参数?

我读过的最类似的话题最终与用户迁移到另一个选项,如open

回答

1

Program.launch只接受文件名或URL。

根据URL的协议,可能会支持将参数指定为URL的一部分,URL格式的文档会告诉您。

+0

我能够通过URL协议像'steam://'使用参数。但是,对于本地应用程序可以做同样的事情吗? 'file://'不支持我读过的内容。它运行的应用程序,但也忽略了争论。 –

+0

'文件'URL不支持参数。 –

+0

因此,它只接受文件名(关于本地文件),它根本不能使用参数?我想我将不得不寻找另一种方法。 –