Como posso atualizar programaticamente o papel de parede?

Como posso atualizar programaticamente o papel de parede?

Quero poder escolher um arquivo de imagem como papel de parede e substituí-lo para alterar a imagem exibida no plano de fundo da área de trabalho.

Atualmente, o papel de parede exibido não reflete as alterações no arquivo selecionado até que eu o escolha novamente nas configurações do sistema. Como posso forçá-lo a atualizar programaticamente a partir de, digamos, um script de shell?


Quando escolho uma imagem para ser o papel de parede, parece que a imagem foi copiada para um novo local e então essa cópia é definida como papel de parede; imediatamente após escolher uma imagem, seu nome de arquivo original é exibido:

Antes

mas quando fecho e reabro a tela de configurações de aparência, o nome foi substituído por algo sem sentido:

Depois

Eu me pergunto se desabilitar esse comportamento ajudaria.

Responder1

O código para Wallch pode lhe dar pistas:

http://sourceforge.net/projects/wall-changer/

Responder2

informação relacionada