问题
Is it possible to get a list of applications installed on the users computer that could be used to open a file (in my case an image), similar to the list shown through the Finder's "Open With..." menu?
回答1:
Are you looking for a programatic or scripting solution? Programatically, look at Launch Services (LSCopyAllRoleHandlersForContentType()
for instance). For scripting, you probably want lsregister
which is buried down in
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Support
Don't let its location in the docs fool you. It in the Carbon docs, but it's actually CoreServices, which is not deprecated.
来源:https://stackoverflow.com/questions/1051735/list-potential-applications-that-could-open-a-file