【问题标题】:Changing the desktop image in 10.6.x在 10.6.x 中更改桌面图像
【发布时间】:2009-10-09 16:36:39
【问题描述】:

我有一个应用程序可以根据用户指定的文件更改用户的桌面背景。

它在 10.4 和 10.5 中运行良好,但 Apple 似乎更改了一些系统通知,这意味着我编写的代码不再有效。

我想知道是否有人看过任何示例,或者想出了如何更改图像? 他们似乎仍在使用 com.apple.desktop 属性列表,但文件更改通知似乎不再起作用。

使用使用这个命令通知操作系统新的后台:

[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"com.apple.desktop" object:@"BackgroundChanged"];

有什么想法吗?

【问题讨论】:

    标签: objective-c cocoa


    【解决方案1】:

    您使用的是未记录的 API。它停止工作并不奇怪......

    10.6 在 NSWorkspace 上有新的公共 API。特别是-setDesktopImageURL:forScreen:options:error: 方法。

    【讨论】:

    • 我对它停止工作并不感到惊讶,只是想知道如何解决它:D 感谢您的帖子,我会尝试一下,看看效果如何。
    【解决方案2】:

    您也可以调用 Applescript 来更改壁纸图片。

    tell application "Finder"
        set image_file to POSIX file "/Users/user/Pictures/wall.jpg"
        set desktop picture to image_file
    end tell
    

    您可以使用 NSAppleScript 对象在您的 Cocoa 应用程序中调用 Applescript。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      • 2015-05-12
      • 2016-10-28
      相关资源
      最近更新 更多