2009-06-26 17 views
3

Ist es möglich, eine Liste der Anwendungen auf dem Computer des Benutzers zu erhalten, die zum Öffnen einer Datei (in meinem Fall ein Bild) verwendet werden könnte, ähnlich der Liste durch den Finder " Öffnen mit ... "Menü?Liste möglicher Anwendungen, die eine Datei öffnen könnten

+0

Um zu klären .. Ich war auf der Suche nach einem Skript Cocoa/Carbon-Lösung. Danke Rob! –

Antwort

6

Suchen Sie eine programmatische oder Skriptlösung? Sehen Sie sich programmatisch Launch Services an (LSCopyAllRoleHandlersForContentType() zum Beispiel). Für Scripting, möchten Sie wahrscheinlich lsregister die

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Support 

in

begraben herunter Sie seine Lage in der Dokumentation nicht täuschen lassen. Es ist in den Carbon-Dokumenten, aber es ist eigentlich CoreServices, die nicht veraltet ist.

+1

Ich habe LSCopyApplicationURLsForURL() als nützlicher gefunden, da es sowohl Carbon-Anwendungen als auch Cocoa enthält. Beim Überprüfen einer JPEG-Datei gab LSCopyAllRoleHandlersForContentType() ungefähr 7 App-IDs zurück, während LSCopyApplicationURLsForURL() 27 fand. –