我正在编写一个菜单栏应用程序,当按下全局热键时会显示一个窗口。该应用程序没有停靠图标和普通菜单(只有 statusItem)。
在激活应用程序之前,假设我在以 chrome 为中心的网页上有一个文本框。当我的应用程序被驳回时,如何重新调整该文本框的焦点。
如果你熟悉 Text Expander,他们会做类似的事情。
我想通了。你需要一个 NSRunningApplication:
@implementation AppDelegate {
NSRunningApplication *_previousApplication;
}
然后在您激活之前存储上一个应用程序:
_previousApplication = [[NSWorkspace sharedWorkspace] frontmostApplication];
最后,在您停用后,只需带回另一个应用程序:
[_previousApplication activateWithOptions:NSApplicationActivateIgnoringOtherApps];