Cocoa osx:为所有正在运行的应用程序在停靠元素上添加一个菜单项

Posted

技术标签:

【中文标题】Cocoa osx:为所有正在运行的应用程序在停靠元素上添加一个菜单项【英文标题】:Cocoa osx: Add a menu item on dock elements for all running applications 【发布时间】:2010-09-04 14:51:27 【问题描述】:

我正在开发一个 OSX 应用程序,我想在您单击停靠图标时显示的菜单上添加一个新菜单项。 该菜单不适用于我的应用程序,但它必须出现在所有正在运行的应用程序中。

我只找到了这个文档 http://cocoadevcentral.com/articles/000036.php,但它添加到了自己的应用程序中。

我的应用将在 OSX 10.6 或更高版本上运行

【问题讨论】:

【参考方案1】:

使用公共 API 无法做到这一点。您需要将代码注入 Dock。在 10.6 中,注入代码的标准方法是使用 OSAX 加载技巧,在 this blog post 中对此进行了描述。然后你需要做Objective-C运行时hackery来替换方法,使用method_exchangeImplementations

无论如何,这是一个棘手的过程。但如果你有意愿,你可以。 SIMBL 可能(或可能不会)帮助您。

【讨论】:

以上是关于Cocoa osx:为所有正在运行的应用程序在停靠元素上添加一个菜单项的主要内容,如果未能解决你的问题,请参考以下文章

带有菜单栏但没有 Dock 图标/切换菜单的 Cocoa 应用程序

Cocoa:在运行时添加另一个停靠图标

OSX / Cocoa:获取屏幕中docktile图标的绝对位置[重复]

Qt + CMake for OSX Bundle:Cocoa 平台插件

JavaFX Ubuntu 舞台停靠图标不更新

在 Cocoa Mac OSX 中设置 FirstResponder 的问题