如何从在Mac Crossover中运行的Windows程序运行AppleScript

How to run AppleScript from Windows program running in Mac Crossover?

本文关键字:运行 Windows 程序 AppleScript Crossover Mac      更新时间:2023-10-16

我正在开发一个C++设计的程序,可以在Windows上运行,但是该程序被我们的一些运行Mac的客户端使用,方法是通过交叉安装它。 它在大多数情况下工作正常,但我们的电子邮件生成存在问题。 我编写了代码来生成一个苹果脚本,该脚本将为 mac 创建一封电子邮件,但我在执行它时遇到问题。

我尝试过的事情:

1)这个问题的答案:如何从C++程序中执行一个简单的Applescript?系统命令似乎从未执行。

2)我使用Applescript创建了一个.app,当运行时,它会执行我的邮件生成Applescript。我尝试使用 ShellExecute() 运行脚本和.app,但它只会分别在 AppleScript 编辑器和 WINE 资源管理器中打开脚本或.app。

假设Crossover在其"瓶子"中创建的Windows环境阻止我运行脚本或.app。 有没有办法解决这个问题并完成运行脚本或.app?

我发现唯一有效的解决方案是创建运行AppleScript以生成邮件的帮助程序.app,然后在.app内部的小程序上调用ShellExecute(),而不是.app本身。

代码如下所示:

ShellExecute(NULL,"open","<PATH TO .APP>/Contents/MacOS/applet",NULL,NULL,0);