如何以编程方式打开状态栏应用程序?

时间:2015-11-07 16:39:19

标签: macos cocoa keyboard-shortcuts nsstatusbar

我希望在触发全局快捷方式时打开状态栏应用。

以下是我设置statusItem的方法:

NSMenu *appMenu=[NSMenu new];
NSMenuItem *firstItem=[NSMenuItem new];
[firstItem setView:_clickView];
[appMenu addItem:firstItem];
self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:100];
[self.statusItem setTitle:@"App"];
[self.statusItem setMenu:appMenu];

之后我使用DDHotKey来响应快捷方式。我可以确定是否触发了快捷方式,但我不知道如何打开菜单,因为它是状态栏单击。

我也试过玩NSMenu popUpContextMenu。但在我看来,这不是正确的方法。菜单显示在一个新窗口中,这不是我正在寻找的行为

1 个答案:

答案 0 :(得分:0)

NSStatusItem popUpStatusItemMenu:完成了这个伎俩。我只是将它自己的菜单作为参数传递而且它有效。