3

Macで実行されているすべてのフォアグラウンドアプリケーションのアプリケーションアイコンを取得したいと思います。私はすでにProcessManagerAPIを使用してすべてのアプリケーションを反復処理しています。(から取得した)modeBackgroundOnlyにフラグが設定されていないプロセスは「フォアグラウンド」アプリケーションであり、タスクスイッチャーウィンドウに表示されると判断しました。processModeGetProcessInformation()

必要なのは、プロセスのアプリケーションアイコンを含むCImageRef(または同様のもの)を提供するAPIだけです。カーボンAPIまたはココアAPIのいずれかを自由に使用できます。

4

2 に答える 2

5

Mac OS X 10.6以降では、実行中のアプリケーションにアイコンを要求できます。

Mac OS Xの以前のバージョンでは、アプリケーションのバンドルを調べて入手する必要があります。PSNを関数に渡して、バンドルの場所をとして取得しGetProcessBundleLocationFSRefそれを関数GetIconRefFromFileInfo渡します。

于 2010-03-16T23:54:47.807 に答える
3

LaunchServices関数(Carbon)またはNSWorkspaceクラス(Cocoa)を使用できます。

于 2010-03-16T10:06:46.987 に答える