2013-03-14 77 views
0

我是新來的。我在Mac OS x上搜索了關於默認郵件客戶端信息。 我在這裏找到了一些幫助 How do I get the default mail client using applescript? 但是我沒有得到所有我想要的信息。我有默認的郵件客戶端名稱,但無法獲得它的版本,我在Mail.app(啓動時)的「關於郵件」部分中看到。如何在mac os x上獲取默認郵件客戶端版本?

+0

向我們展示您到目前爲止嘗試過的方法。 – 2013-03-14 05:50:57

+0

我到目前爲止已經搜索過,我從互聯網上獲得了一些參考,但他們只是基於GUI的技術來查看我的默認郵件客戶端的版本。 – Dhiraj 2013-03-14 08:25:26

回答

5

LaunchServices是OS X API,其中包含有關用戶首選應用程序的信息。

LSGetApplicationForURL() function將返回您尋找的數據。下面是它的使用很短的例子:

#include <CoreFoundation/CoreFoundation.h> 
#include <ApplicationServices/ApplicationServices.h> 

int main(int argc, char *argv[]) 
{ 
    CFURLRef mailURL = CFURLCreateWithString(kCFAllocatorDefault, CFSTR("mailto://"), NULL); 
    CFURLRef mailAppURL = NULL; 
    OSStatus ret = 0; 
    if((ret = LSGetApplicationForURL(mailURL, kLSRolesAll, NULL, &mailAppURL)) == 0) 
    { 
    CFStringRef path = CFURLCopyFileSystemPath(mailAppURL, kCFURLPOSIXPathStyle); 
    CFShow(path); 

    CFRelease(path); 
    CFRelease(mailAppURL); 
    } 
    else 
    { 
    fprintf(stderr, "LaunchServices error %d\n", ret); 
    } 

    CFRelease(mailURL); 
    return ret; 
} 

在我的系統中,打印/Applications/Mail.app。如果您想要了解更多有關退貨項目的信息,可以使用上的LSCopyItemInfoForURL() function

+0

@ jatoben它幫助了我很多。謝謝。 – Dhiraj 2013-03-20 04:38:31

相關問題