Я работаю над приложением C, которое использует AppleEvents.Пока я пытаюсь сделать простой пример, который отправляет Активировать в Терминал.Вот что у меня есть:
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
Заранее спасибо и с уважением