iconRef без fsspec
Я пытаюсь программно добавить элемент автозагрузки с помощью LSSharedFileListInsertItemURL ( рекомендуемый метод в 10.5 в будущем)
Запрос вызова, но не требует значка для элемента. значок предоставляется iconRef.
iconRef может быть создан с использованием FSSpec для файла значка. Насколько я понимаю, FS Spec устарела в 10.4.
Есть ли способ получить приложения.icns в iconRef, не прибегая к FSSpec, или мне просто нужно использовать NULL?
2 ответа
Насколько я понимаю, FS Spec устарела в 10.4.
Дольше, чем это.
Есть ли способ получить приложения.icns в iconRef, не прибегая к FSSpec, или мне просто нужно использовать NULL?
Используйте RegisterIconRefFromFSRef
функция
Переходя NULL
добавит элемент без иконки; Во IIRC будет отображаться значок документа, когда пользователь просматривает список своих элементов входа в Системных настройках.
Файл 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
в FSRef
с помощью CFURLGetFSRef
, Надеюсь, это поможет.