objective-c – 在Cocoa的所有Spaces设置桌面背景

objective-c – 在Cocoa的所有Spaces设置桌面背景,第1张

概述我正在写一个小应用程序来改变桌面背景.如果用户只使用一个空间,那么这一切都很好,但是当他有多个空格时,应用程序只能在当前的活动空间中工作. 我正在使用这段代码 [[NSWorkspace sharedWorkspace] setDesktopImageURL:currentImageURL forScreen:scr 我正在写一个小应用程序来改变桌面背景.如果用户只使用一个空间,那么这一切都很好,但是当他有多个空格时,应用程序只能在当前的活动空间中工作.

我正在使用这段代码

[[NSWorkspace shareDWorkspace] setDesktopImageURL:currentimageURL                                         forScreen:screentochange                                           options:screenoptions                                             error:&error]

改变桌面背景,看起来没有办法改变另一个空间的背景.

我几年前才发现答案,没有人问这个具体问题.有没有办法在客观c?

解决方法
Setting the desktop background on all Spaces in Cocoa

如果用户想要为多个空格设置桌面背景,请尝试以下代码:

更多信息refer this

Nsstring* path = @"/Users/abc/Desktop/yourimg.png";NSUserDefaults* def = [NSUserDefaults standardUserDefaults];NSMutableDictionary* desktopDict = [NSMutableDictionary dictionaryWithDictionary:[def persistentDomainForname:@"com.apple.desktop"]];NSMutableDictionary* bgDict = [desktopDict objectForKey:@"Background"];NSMutableDictionary* spaces = [bgDict objectForKey:@"spaces"];[spaces enumerateKeysAndobjectsUsingBlock:^(Nsstring* key,NSMutableDictionary* obj,BOol *stop) {    [obj enumerateKeysAndobjectsUsingBlock:^(ID key,NSMutableDictionary* prefs,BOol *stop) {        [prefs setobject:path forKey:@"ImagefilePath"];        [prefs setobject:path forKey:@"NewImagefilePath"];        [prefs setobject:@"Never" forKey:@"Change"];    }];}];[def setPersistentDomain:desktopDict forname:@"com.apple.desktop"];
总结

以上是内存溢出为你收集整理的objective-c – 在Cocoa的所有Spaces设置桌面背景全部内容,希望文章能够帮你解决objective-c – 在Cocoa的所有Spaces设置桌面背景所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1030560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存