2016-04-16 16 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

因此,它只接受文件名(關於本地文件),它根本不能使用參數?我想我將不得不尋找另一種方法。 –