0

LSSharedFileListInsertItemURLを使用してプログラムでスタートアップアイテムを追加しようとしています(10.5以降で推奨される方法)

呼び出しは要求しますが、アイテムのアイコンは必要ありません。アイコンはiconRefによって提供されます。

iconRefは、アイコンファイルに対してFSSpecを使用して作成できます。私の理解では、FSSpecは10.4以降非推奨になります。

FSSpecに頼らずにiconRefでアプリ.icnsを取得する方法はありますか、それともNULLを使用する必要がありますか?

4

2 に答える 2

0

私の理解では、FS Spec は 10.4 以降では非推奨です。

それよりも長い。

FSSpec に頼らずに iconRef でアプリの .icns を取得する方法はありますか、それとも NULL を使用する必要がありますか?

関数を使用RegisterIconRefFromFSRefます。

渡すNULLと、アイコンなしで項目が追加されます。IIRC、ユーザーがシステム環境設定のログイン項目リストを見ると、ドキュメント アイコンが表示されます。

于 2011-04-01T04:30:08.743 に答える
0

IconsCore.h ファイルは、使用するように言いますGetIconRefFromFileInfo:

extern OSStatus 
GetIconRefFromFileInfo(
  const FSRef *            inRef,
  UniCharCount             inFileNameLength,
  const UniChar *          inFileName,             /* can be NULL */
  FSCatalogInfoBitmap      inWhichInfo,
  const FSCatalogInfo *    inCatalogInfo,          /* can be NULL */
  IconServicesUsageFlags   inUsageFlags,
  IconRef *                outIconRef,
  SInt16 *                 outLabel)               /* can be NULL */

非推奨の関数に関するコメントには、GetIconRefFromFileこれを使用する必要があると書かれています。を使用CFURLして に変えることができます。それが役立つことを願っています。FSRefCFURLGetFSRef

于 2011-04-01T04:51:32.303 に答える