我想使用LSSharedFileList API將定製地點添加到Finder收藏夾側欄,如here所述。但我需要爲此項目添加一個自定義圖標。該圖標應該在IconRef
類型中。我還沒有找到辦法做到這一點。只發現了一個mention的事實,即需要使用Icon服務。但是如何?如何從應用程序資源中獲取IconRef
1
A
回答
2
您可以使用Scplugin的此功能。
static IconRef IconRefFromIconFileNoCache(CFStringRef file)
{
IconRef iconRef;
IconFamilyHandle iconFamily;
FSRef fileRef;
CFURLRef url;
Boolean ok;
url = CFURLCreateWithFileSystemPath(NULL,file,kCFURLPOSIXPathStyle,false);
if (!url)
return 0;
ok = CFURLGetFSRef(url,&fileRef);
CFRelease(url);
if (!ok)
return 0;
if (ReadIconFromFSRef(&fileRef, &iconFamily))
return nil;
iconRef = 0;
HLock((Handle)iconFamily);
GetIconRefFromIconFamilyPtr(*iconFamily,(**iconFamily).resourceSize,&iconRef);
DisposeHandle((Handle)iconFamily);
return iconRef;
}
+0
如果碰巧有一個'NSURL *',可以將其轉換爲'CFURLRef'並將其傳遞給'CFURLGetFSRef'。 – JWWalker
+0
這可行,但不幸的是不適合在Mac OS X上使用'LSSharedFileListInsertItemURL'> = 10.7 – ZeroDivisi0n
相關問題
- 1. 如何從另一個應用程序獲取資源?
- 2. 如何獲取RCP應用程序中的資源對象
- 3. 如何在Generic.xaml中獲取應用程序資源
- 4. 無法從應用程序資源中獲取圖像
- 5. 用戶可以從iPhone應用程序獲取資源嗎?
- 6. 防止應用程序從其他應用程序獲取資源
- 7. 無法從android應用程序獲取資源
- 8. Android:從應用程序獲取資源文件
- 9. 如何從類庫中獲取資源
- 10. 如何從資源中獲取文件
- 11. 如何從資源中獲取視圖?
- 12. 獲取應用程序引擎中已用資源的數量
- 13. 如何從我的Android應用程序獲取資源目錄列表?
- 14. 如何管理應用程序資源?
- 15. 如何處理應用程序資源
- 16. 如何在Win 8.1通用應用程序中獲取文件共享資源?
- 17. 提取應用程序資源
- 18. 通知聲音如何從應用程序資源中播放?
- 19. IBM Worklight - 如何從應用程序中刪除JSONStore資源
- 20. 如何獲取路徑到Android資源文件夾中的應用程序包
- 21. (J2ME)如何獲取我的jar應用程序中的文件/資源列表
- 22. 如何從Apple事件獲取源應用程序?
- 23. GWT應用程序獲取「404請求的資源不可用」
- 24. 如何從應用程序獲取mimeType?
- 25. 從swc將應用程序資源提取到應用程序目錄
- 26. Android - 如何從資源獲取名稱?
- 27. 如何從Maven項目獲取資源
- 28. 如何從嵌套資源獲取ids?
- 29. 如何從JAR文件獲取資源
- 30. 如何從JarPackageFragmentRoot獲取資源?
如果您將使用[[NSWokspace sharedWorkspace] setIcon:someIcon forFile:someFile options:0]設置文件夾圖標;這將出現在發現者邊欄中。 –