如何终止在 cooca 中运行的另一个应用程序。假设我正在运行 iTunes,然后在我的应用程序中输入 quit,它会退出 iTunes。 “iTunes”只是一个例子,它可以是用户想要的任何东西。我可以从我的应用程序打开任何应用程序,但我想知道如何关闭任何正在运行的应用程序。
谢谢
凯文
最佳答案
AppleScript 是一种发送单个 Quit 事件的高级方法。 SIGTERM 是一种相当蛮力的低级方法。
退出另一个应用程序的正确方法是获取其进程序列号 (psn) 并使用以下两行代码向其发送 kAEQuitApplication Apple 事件:
result = AEBuildAppleEvent( kCoreEventClass, kAEQuitApplication, typeProcessSerialNumber, ¤tProcessPSN,
sizeof(ProcessSerialNumber), kAutoGenerateReturnID, kAnyTransactionID, &tAppleEvent, &tAEBuildError,"");
result = AESend( &tAppleEvent, &tReply, kAEAlwaysInteract+kAENoReply, kAENormalPriority, kNoTimeOut, nil, nil );
您可以从 C、C++ 或 Objective-C 执行此操作,并且您必须链接到 CoreServices.framework。
关于objective-c - 终止另一个正在运行的应用程序 - Cocoa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1469534/