在Cocoa中获取桌面背景

时间:2011-03-15 02:19:37

标签: cocoa applescript desktop-background

我需要做一些全屏应用程序,这通常不是问题。现在的问题是我需要有用户的桌面,但没有图标,作为我的全屏窗口的背景,就像10.7中的Launchpad一样。我在AppleScript中引用了桌面背景:

tell application "Finder"
    set a to desktop picture
end tell

这给了我这样的东西:document file "100930-F-7910D-001.jpg" of folder "Pictures" of folder "Fighter Jet Stuff" of folder "Desktop" of folder "tristan" of folder "Users" of startup disk of application "Finder"我无法想象进入常规路径。

我尝试过做set a to desktop picture as POSIX path,但这会引起我的注意。知道如何在Cocoa中做到这一点,使用上面的Applescript获取路径,甚至更好,没有Applescript?我不想依赖可能存储此信息的任何plist的特定格式,因为它有可能在以后破坏。我想可能有一个我不知道的框架......

2 个答案:

答案 0 :(得分:7)

您正在寻找的方法可在NSWorkspace中找到。

– desktopImageURLForScreen:
– setDesktopImageURL:forScreen:options:error:
– desktopImageOptionsForScreen:

请查看此处的文档:NSWorkspace Class Reference

答案 1 :(得分:0)

如果您只需要当前的壁纸,可以截取它的截图:

{{1}}