Mac 小白,遇到的问题如题所示,想做一个 status bar 的应用来显示一个扩展列表,这样能够把全部的图标都显示出来,有些应用只提供了状态栏图标,因此不显示的话很不方便。
NSStatusBar 的接口不提供全局的 NSStatusItem 列表,但是通过 CGWindowListCopyWindowInfo 接口能够得到全部的窗口,然后状态栏上的窗口的 windowLayer 的值都是 25 ,因此可以通过这个属性筛选出来,这个获取的窗口信息如下:
{
kCGWindowAlpha = 1;
kCGWindowBounds = {
Height = 37;
Width = 47;
X = 1052;
Y = 0;
};
kCGWindowIsOnscreen = 1;
kCGWindowLayer = 25;
kCGWindowMemoryUsage = 2288;
kCGWindowNumber = 109;
kCGWindowOwnerName = Stats;
kCGWindowOwnerPID = 1413;
kCGWindowSharingState = 0;
kCGWindowStoreType = 1;
}
想知道兄弟们通过这些信息有没有方法操作状态栏上的程序(包括被隐藏的),即便是能够发送点击事件也好呀
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.