我正在使用以下代碼來獲取應用程序的路徑。它適用於所有情況但前排不合格。獲取應用程序的路徑
CFStringRef cfStrAppShortName = NULL;
FSRef appRef;
CFURLRef cfAppUrlRef = NULL;
CFBundleRef cfAppBundleRef = NULL;
CFDictionaryRef cfAppDictRef = NULL;
CFStringRef cfStrAppBundleName = NULL;
OSErr osErr;
cfStrAppShortName = CFSTR(Front Row);
if(cfStrAppShortName != NULL)
{
osErr = LSFindApplicationForInfo(kLSUnknownCreator,NULL,cfStrAppShortName,&appRef,NULL);
if(osErr == noErr)
{
cfAppUrlRef = CFURLCreateFromFSRef (kCFAllocatorDefault, &appRef);
cfAppBundleRef = CFBundleCreate (kCFAllocatorDefault,cfAppUrlRef);
cfAppDictRef = CFBundleGetInfoDictionary (cfAppBundleRef);
cfStrAppBundleName = (CFStringRef)CFDictionaryGetValue (cfAppDictRef,kCFBundleNameKey);
}
我是從應用程序文件夾期待應用程序的路徑,但它來源於/系統/ coreservices/..
出現這種情況的所有項目呈現/系統/庫/ coreservices/..。
是否有任何它不應該看/ system/library/coreservices ..或任何更好的解決方案? 任何人都可以幫助我嗎?
在此先感謝。
你有什麼具體問題?它沒有找到應用程序,還是它返回了你不期望的路徑? – 2009-12-30 06:26:07
它的路徑。 在System/Library/CoreServices/..中有一個FrontRow.app,它也存在於/ Applications/..路徑中。 我期待/應用程序/前排,但它給了我係統/庫/ CoreServices /前排 – MacGeek 2009-12-30 07:23:04