c - Apple Event 发送 Activate 给出错误
问题描述
我正在开发使用 AppleEvents 的 C 应用程序。到目前为止,我正在尝试做一个简单的例子,它将激活发送到终端。这就是我所拥有的:
int main()
{
AppleEvent theEvent;
char* arg = "com.apple.Terminal";
AEAddressDesc addDesc;
OSErr err = AECreateDesc( typeApplicationBundleID, &arg, strlen( arg ), &addDesc );
printf("AECreateDesc error --> %d\n", err);
if( noErr == err )
{
// my event creation
// create event:
err = AECreateAppleEvent( 'misc', 'actv', &addDesc, kAutoGenerateReturnID, kAnyTransactionID, &theEvent );
}
printf("AECreateAppleEvent error --> %d\n", err);
if (noErr == err)
{
AESendMode aeSendMode = kAEAlwaysInteract | kAEWaitReply;
//err = AESend( &theEvent, NULL, aeSendMode, kAENormalPriority, kAEDefaultTimeout, NULL, NULL );
err = AESendMessage(&theEvent, NULL, aeSendMode, kAEDefaultTimeout);
}
printf("AESend error --> %d\n", err);
return 0;
}
但是当我运行程序时,它总是打印 AESend 错误 --> -600 我已经看到这意味着找不到进程
有人可以告诉我这里有什么问题吗?
注意:我不想用 AppleScript,我想用这个,所以请不要推荐使用 AppleScript
提前致谢和问候
解决方案
您应该致电:
OSErr err = AECreateDesc( typeApplicationBundleID, arg, strlen( arg ), &addDesc );
没有&
。
推荐阅读
- batch-file - 如何模拟 Moo0 文件粉碎机的拖放功能?
- r - 选择唯一的 x 和 y 对以最小化一个值
- amazon-s3 - 如何通过预签名 URL 限制对 S3 存储桶的点击次数?
- azure - 从 Visual Studio 2017 社区设置 Azure Pipelines
- python - 尝试使用共享 x 轴绘制 3 个子图
- reactjs - Jest 24.1 和 babel 7.3.3 在大多数测试中仍然存在问题
- python - AttributeError:“datetime.time”对象没有属性“时间”
- asp.net-mvc - 动作请求跳跃
- maven - 如何通过maven自动增加快照版本或发布版本
- python - Django request.user.is_authenticated 引发字典更新序列元素#0 的长度为 X;2 是必需的