2009-11-15 37 views
1

在启动应用程序后应该调用哪些方法以在其中启动applicationDidFinishLaunching:委托方法已被调用?或者,也许有更好的地方做到这一点?针对NSApplicationdeactivate方法的文档说,我不应该直接调用此方法,因为AppKit知道如何停用某些东西。在Cocoa中启动后取消激活代理应用程序

回答

1

也许使用-[NSApplication hide:]会工作,或者也许激活另一个应用程序使用-[NSRunningApplication activateWithOptions:](仅10.6,tho)。不过,我并没有预见到使用deactivate:时会遇到很多问题。

+0

我想我会尝试使用NSRunningApplication方法。感谢一堆! – Eimantas 2009-11-16 10:39:31

1

目前尚不清楚你想要达到的目标。

您可以使用-hide:停用您的应用。我也会毫不犹豫地使用-deactivate,如果它实际上满足您的需求。这只是正常应用程序不明确停用自己;我认为这就是文档所说的。

但是,如果您在Info.plist中设置了LSUIElement,则应用程序在启动时不应变为活动状态;它也不会有菜单栏或停靠栏图标。

+0

启动后,应用程序确实变为活动状态,因为我添加了全局事件监视器,并且每次按全局事件监视器中注册的全局键时都会发出蜂鸣声。 全局事件监视器在活动时不会将事件路由到应用程序。对? – Eimantas 2009-11-16 10:38:59

相关问题