问题标签 [appleevents]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
445 浏览

macos - AppleEvents/sandbox:返回 errAEPrivilegeError,无权向进程发送 AppleEvent

我想使用 Apple Script 使用 Sandboxing 创建 InDesign 文档。我的苹果脚本是:

告诉应用程序 Adob​​e Indesign CS5.5 使新文档结束告诉

我的权利条目是: 在此处输入图像描述

在 Adob​​e InDesign CS5.5.app Info.plist 捆绑标识符是 com.adobe.InDesign 我尝试输入 com.adobe.InDesign 和 com.adobe.indesign。

当我运行我的沙盒应用程序时,它只会启动 Adob​​e InDesign 应用程序,但不会在其中创建任何文档。我检查控制台应用程序(在 /Applications/Utilities/ 中可用),在所有消息系统日志查询中查找沙盒违规,它给出以下错误:

AppleEvents/sandbox:返回 errAEPrivilegeError/-10004 并拒绝从进程调度事件 ascr/gdte,因为它无权向该进程发送 AppleEvent。

创建 InDesign 文档的权利条目应该是什么?

谢谢

0 投票
1 回答
469 浏览

python - 当应用程序已经运行时,如何在基于 py2app 的 Python 应用程序中接受“打开文档”事件?

我一直在 OS X 10.10 上构建一个 64 位 Python 3.4.2 应用程序,我使用 py2app 0.9 将其捆绑为 Mac 应用程序。我已经调整了应用程序的 Info.plist 文件,以便 OS X 知道我的应用程序可以打开具有特定文件名后缀的文件。

当用户在 Finder 中双击具有特定文件名后缀的文件时,这将打开应用程序并将双击文件的名称作为参数发送给应用程序。

但是,如果应用程序已经在运行,并且我双击具有匹配文件名后缀的第二个文件,则该文件名似乎不会移交给我的应用程序。

这正是我尝试实现的:无论我的应用程序是否已经在运行,如果我在 Finder 中双击匹配的文件,它应该会在我的应用程序中打开。

我已经看到 py2app 创建了文件 Contents/Resources/ boot .py,它似乎捕获了 Finder 发送的 odoc Apple Event,并将其发送到我的 Python 应用程序。

我在boot .py 文件中添加了一些日志记录,发现当我的 py2app 捆绑的 Python 应用程序已经运行并且我在 Finder 中双击一个文件时,似乎没有调用boot .py。

任何输入将不胜感激。

非常感谢提前,

安德烈

0 投票
2 回答
1298 浏览

macos - OSX:以编程方式锁定屏幕

我正在寻找一种以编程方式锁定用户屏幕而不会使 Mac 进入睡眠状态的方法。现在,我可以使用 kAESleep 事件触发锁定屏幕,但这更像是一种黑客攻击,它使计算机进入睡眠状态。可能吗 ?谢谢

0 投票
2 回答
327 浏览

applescript - sending Apple event to console application

I have console app named "MyApp" it is running and I see it in the activity monitor.

I'm writing in AppleScript Editor the script:

When running the script the editor asks me where is MyApp? And it doesn't appear in the list it shows. When I'm trying to brows it's location, I can't select MyApp's bundle. How can I deal with it? Thanks!

0 投票
1 回答
123 浏览

c - 注册 AppleEvents

我正在尝试开始使用 AppleEvents。我有这个简单的注册和处理日志:

我使用通配符标识符来获取所有事件。

运行我的应用程序后,我得到了成功注册的日志。

然后,我运行这个 AppleScript 来发送一个事件:

但我没有在我的应用程序中收到该事件。我错过了什么?谢谢!

0 投票
1 回答
152 浏览

objective-c - 在主消息循环中识别 AppleEvents

我有一个主消息循环。我正在寻找一种方法来检查事件是否是 AppleEvent 以及它的事件类是否属于“MyClass”然后做一些事情。我查看了 NSEvent 参考,但找不到我需要的东西。请问有人可以提出一种方法吗?

0 投票
1 回答
893 浏览

python - OS X 中的 Python:检测多个监视器并将应用程序窗口移动到特定监视器

问题:有没有办法让 Python 在 OS X 中运行代码时进行检测,如果有多个监视器处于活动状态?那么,是否可以通过选择将特定的 OS X 应用程序窗口移动到其中一个监视器?


仅供参考:我以前能够利用Carbon激活特定的应用程序窗口,如下面的代码所示。我不知道它是否具有上述功能。

0 投票
1 回答
186 浏览

python - 在 Python 中响应 Apple 事件,而不在字典中的键周围使用管道字符

我在 py2app 捆绑的 Python 2.7 应用程序中使用 appscript 和 aemreceive 来接受传入的 Apple 事件并将我的应用程序的输出作为 Apple 事件返回给与我的应用程序通信的外部应用程序。

这很好用,有一个例外:当我返回字典时,键被管道字符包围,我需要没有这些字符的键。

示例:我想将此响应发送到外部应用程序:

相反,我的应用程序发送了这个:

事件处理程序已使用以下代码安装:

其中“get_property”是一个函数的名称,一旦外部应用程序请求项目的位置信息,就会调用该函数。这个函数返回一个字典:

我了解到,如果您想使用 Apple Events 保留字(如“文件夹”)作为应用程序的键,或者您的键使用空格或非 ASCII 字符,则必须使用管道围绕键。因此,当我从“有描述”中删除空格或将“文件夹”键重命名为“myfolder”时,我的应用程序返回一个字典,而不用管道包围键。

然而,与我的应用程序通信的外部应用程序要求我的应用程序使用带有空格的键以及“文件夹”键。

有任何想法吗?

提前非常感谢。

0 投票
2 回答
498 浏览

javascript - 如何在 JavaScript 中执行 AppleScript 的 «event aevtrlgo»?

在 macOS 上,osascript命令行工具可用于运行 AppleScript 和 JavaScript,两者都可以访问 Apple 事件 API。

对于大多数 API,翻译非常简单。例如

翻译为:

此外,在 JS 中有一个commandsOfClass列出可用操作的函数:

但是 AppleScript 有一些更晦涩的事件,特别是aevtrlgo(“真正注销”)事件:

我什至不能«»在终端中输入字符,所以这是一个可复制粘贴的版本:

现在,我怎样才能«event aevtrlgo»在 JavaScript 中做到这一点?

我试过这样的事情:

但我总是得到完全相同的回应:

PlusApplication("loginwindow").commandsOfClass()产生一个空列表。

0 投票
1 回答
945 浏览

javascript - electronJS / OSX - 使用我的应用程序打开文件,如何使用 Apple 事件?

我的应用程序是一个 Electron.js 应用程序

我在终端中键入此命令以使用我的应用程序打开一个文件:

在我process.argv收到一个 Apple 事件,例如'-psn_0_#######',如何使用此事件获取 jpg?