Apple Event 发送 Activate 报错

Apple Event sends Activate gives an error

我正在开发使用 AppleEvents 的 C 应用程序。 到目前为止,我正在尝试做一个将 Activate 发送到终端的简单示例。 这是我的:

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 );

没有&.