2009-10-06 7 views
2

J'ai une application qui modifie l'arrière-plan du bureau pour les utilisateurs en fonction des fichiers qu'ils spécifient.Modification de l'image du bureau dans 10.6.x

Cela a très bien fonctionné en 10.4 et 10.5, mais Apple semble avoir modifié certaines notifications système, ce qui signifie que le code que j'ai écrit ne fonctionne plus.

Je me demandais si quelqu'un a vu des exemples, ou a trouvé comment changer l'image? Il semble qu'ils utilisent toujours la liste de propriétés com.apple.desktop, mais la notification du changement de fichier ne semble plus fonctionner.

Je utilisé pour notifier le système d'exploitation du nouvel arrière-plan en utilisant cette commande:

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

Toutes les idées?

Répondre

7

Eh bien, vous utilisiez une API non documentée. Pas surprenant qu'il a cessé de fonctionner ...

10.6 a une nouvelle API publique sur NSWorkspace. En particulier la méthode -setDesktopImageURL:forScreen:options:error:.

+0

Je ne suis pas surpris que ça a cessé de fonctionner, je me demandais comment y remédier: D Merci pour le post, je vais essayer et voir comment je vais. – d2kagw

1

Vous pouvez également appeler Applescript pour changer l'image du fond d'écran.

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

Et vous pouvez utiliser un objet NSAppleScript pour appeler AppleScript avec votre application Cocoa.

Questions connexes