将自定义菜单项添加到Finder上下文菜单

时间:2011-06-23 23:05:29

标签: cocoa macos reverse-engineering finder

如何在Finder中为文件的上下文菜单添加自定义菜单项?

不幸的是,Internet上和Stack Overflow上的大部分信息在10.6中都不起作用或者太有限。例如,Automator不允许您动态创建项目或创建子菜单。

我知道仍然可以做这种事情,因为Dropbox和FolderGlance都做类似的事情。有谁知道他们是如何实现这一点的?

感谢。

5 个答案:

答案 0 :(得分:2)

对于它的价值,Dropbox现在使用mach_star进行代码注入。显然这是一个脆弱的解决方案。如果你查看他们的版本历史记录,他们的许多更新都是为了修复finder集成。

答案 1 :(得分:2)

您现在可以使用Finder Sync Extension将项目添加到OS X 10.10 Yosemite中的Finder上下文菜单中:

https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Finder.html

Finder Sync Extension in Context Menu

答案 2 :(得分:1)

我下载了FolderGlance,似乎使用了一个osax(Scripting Addition)软件包将代码注入到Finder进程中。这绝对是脆弱的,不受支持。

据我所知,向Finder上下文菜单添加项目的唯一合法方法是创建服务,但这并不能解决您的问题。

答案 3 :(得分:1)

直到OS X 10.9.x,只通过mach_inject向Finder流程注入代码是一个解决方案(甚至Dropbox也是如此)。 但是,自10.10以来,有Finder插件,可以自定义上下文菜单,向工具栏添加按钮,并将叠加放在文件图标上。

答案 4 :(得分:0)