3

Mac OS X で現在開いているアプリのアイコンを取得するための API はありますか? アクティブなアプリケーションのすべてのアイコンと、アプリケーションの上にあるバッジ (つまり、メールの新しいメッセージの数、または Transmission の現在のダウンロード率) を取得しようとしています。ある種の Dock API はありますか?

現在アクティブなアプリケーションに関する情報を取得するための OSX API について私が見つけた唯一の言及はProcess Manager APIであり、ドックをポーリングしたりアイコン データを取得したりする機能については言及されていません。

アプリケーション アイコンに関する限り、私が見つけた唯一のドキュメントは NSWorkspace に関連しています: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Workspace/introduction.html

4

1 に答える 1

4

Theocacaoには、開いているアプリケーションを取得してアイコンを取得するために使用される NSWorkspace のサンプルが十分に文書化されているようです。これがアプリケーションのアイコンへのバッジ/変更も取得するかどうか、またはアイコンの更新に関連する通知を購読する方法があるかどうかについては言及されていません.

アクティブなアプリケーションの取得:

NSWorkspace * ws = [NSWorkspace sharedWorkspace];
NSArray * apps = [ws launchedApplications];
NSLog (@"%@", apps);

アプリケーションのアイコンを取得する:

NSWorkspace * ws    = [NSWorkspace sharedWorkspace];
NSString    * path  = [ws fullPathForApplication:@"Safari"];
NSImage     * icon  = [ws iconForFile: path];
于 2010-03-31T21:42:15.917 に答える