如何在Mac OSX上获取和设置目标c中的壁纸?

AP.*_*AP. 9 macos objective-c

我正在寻找一种方法来获取(并设置)Mac OS X下目标c中的壁纸.

你有代码/指针吗?

在此先感谢您的帮助.

Geo*_*che 11

对于OSX> = 10.6使用NSWorkSpace:

对于CFPreferences基于a 的解决方案,请参见例如topdraw来源:

CFStringRef appID = CFSTR("com.apple.desktop");
CFStringRef bkg   = CFSTR("Background");

// get:
NSDictionary *origBackgroundDict = (NSDictionary)CFPreferencesCopyAppValue(bkg, appID);

// ... 

// set and notify dock:
CFPreferencesSetAppValue(bkg, (CFPropertyListRef)backgroundDict, appID);
CFPreferencesAppSynchronize(appID);
[[NSDistributedNotificationCenter defaultCenter] 
  postNotificationName:@"com.apple.desktop" object:@"BackgroundChanged"];
Run Code Online (Sandbox Code Playgroud)