2017-07-02 40 views
0

我正在写一个Windows程序,我用酒(WineBottler)在Mac上运行它推出Finder或其他Mac应用程序如何从酒(WineBottler)Windows程序

我希望能够从我的程序中启动Finder或其他MacOS应用程序。

我知道这是可能的,因为比如我可以用下面这行推出的Safari:

ShellExecute(0, 'open', 'http://www.google.com', nil, nil, 0); 

我想这是因为Safari浏览器是用来处理URL中的默认应用程序。事实上,即使这样仍然会推出Safari浏览器成功:

ShellExecute(0, nil, 'www', nil, nil, 0); 

在另一方面,通过其他的字符串(例如,路径到一个文本文件)将推出这些文件类型的酒为主的默认应用程序,如果有的话。

因此,看起来上述情况可能会启动基于guest-os(例如Safari)的应用程序或基于酒的应用程序。

那么现在我怎么能在给定的文件夹下启动Finder?或者,如何使用默认的Mac应用程序打开一个给定文件,让我们说一个mp3文件,而不是基于wine的应用程序(对于该文件类型)?

注意:葡萄酒启动Safari的方式可能是通过葡萄酒中包含的“iexplorer.exe”应用程序 - 可能是葡萄酒中URL的注册应用程序 - 但即使如此,问题仍然是一样的:“iexplorer .exe“程序调用Safari,或者其他什么是URL的默认应用程序?我该怎么做才能启动在MacOS中浏览文件夹的默认应用程序?或者打开mp3文件,等等?

我花了最后两个小时尝试了所有我能想到的,没有成功的东西。我也无法找到葡萄酒和葡萄酒常见问题网站的解决方案。

我使用Delphi,但任何基于Windows API的答案都很好。

任何人都可以帮忙吗?

谢谢!

回答

1

答案是“winebrowser”。

要打开,例如,与本地应用程序(查找程序)文件夹,我可以打电话:

ShellExecute(0, 'open', 'winebrowser', PChar(PathOfTheFolder), nil, 0); 

以类似的方式,我可以通过一个文本文件的路径,通过文字编辑(打开* .txt文件的默认应用程序)等等。

相关问题