如何更改cocoa/objective-c中的桌面图片?我试过使用默认值,但有很多错误。更改桌面图片在objective-c
NSArray *args=[NSArray arrayWithObjects:@"write",@"com.apple.desktop", @"Background", @"'{default = {ImageFilePath = \"~/desktop.jpg\";};}'", nil];
NSTask *deskTask=[[NSTask alloc] init];
[deskTask setArguments: args];
[deskTask setLaunchPath:@"/usr/bin/defaults"];
[deskTask launch];
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"com.apple.desktop" object:@"BackgroundChanged"];
该命令在终端中成功运行。我不需要任何人告诉我确切地说做什么,但我想一些洞察力。
编辑:我的操作系统是10.4.11
那么,你有什么错误?此外,您不应该发布通知,直到值实际发生更改;这可能还没有发生,因为您在开始任务后立即发布它。你应该等待任务先完成。 (并且不要忘记在你完成任务时释放任务。) – 2010-08-21 05:54:41
没有错误,但plist文件(com.apple.desktop)现在有一个元素(背景),其中包含{default = {ImageFilePath = “〜/ desktop.jpg”;};} – alexy13 2010-08-21 10:42:39
plist文件的内容应该是“〜/ desktop.jpg”内嵌的ImageFilePath元素(默认元素内)。 – alexy13 2010-08-21 11:11:11