2
我有一个Cocoa应用程序和一个启动代理。启动代理使用 launchAppWithBundleIdentifier:
方法调用启动应用程序。
在我的应用程序内我想检查应用程序是由用户启动(正常启动)还是启动代理启动我的应用程序。如何检查应用程序是由用户还是NSWorkspace启动
我有一个Cocoa应用程序和一个启动代理。启动代理使用 launchAppWithBundleIdentifier:
方法调用启动应用程序。
在我的应用程序内我想检查应用程序是由用户启动(正常启动)还是启动代理启动我的应用程序。如何检查应用程序是由用户还是NSWorkspace启动
您似乎应该能够通过launchAppWithBundleIdentifier:calls的additionalEventParamDescriptor参数发送Apple事件,然后在您的应用程序中接收该事件,以便您知道这是您的代理启动您。
谢谢。我找到了接受的方式。在我的应用程序委托我写了以下方法:' - (BOOL)applicationShouldOpenUntitledFile :(NSApplication *)sender { \t NSAppleEventDescriptor * event = [[NSAppleEventManager sharedAppleEventManager] currentAppleEvent]; (事件) \t \t如果(事件) \t AEEventID evtID = [event eventID]; \t \t \t 如果\t(事件&&(evtID == kAEOpenApplication)&& [事件事件类] == kCoreEventClass) \t \t { \t \t \t //这里一些代码 \t \t \t} \t} \t返回YES ; }' – Raviprakash 2011-05-10 09:52:09
太好了。我不确定你会如何收到它,但听起来你已经知道了! – 2011-05-15 23:25:31