私はここでは新人です。mac os x のデフォルトのメール クライアント情報について検索しました。AppleScript を使用して既定のメール クライアントを取得するにはどうすればよいですか? しかし、必要なすべての情報を取得できませんでした。デフォルトのメールクライアント名を取得しましたが、Mail.app の「メールについて」セクション (起動時) に表示されるバージョンを取得できませんでした。
質問する
732 次
1 に答える
5
LaunchServicesは、ユーザーの優先アプリケーションに関する情報を含む OS X API です。
このLSGetApplicationForURL()
関数は、求めるデータを返します。以下は、その使用の短い例です。
#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()
関数onを使用できますmailAppURL
。
于 2013-03-14T20:06:40.803 に答える