List potential applications that could open a file

2020-03-04 02:36发布

问题:

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.