Come posso modificare i comandi di regedit in tempo reale in tempo reale?

Quello che voglio è cambiare in modo programmato Desktop Wallpaper each poche ore. Sto utilizzando un file batch (.bat) e non voglio utilizzare altre lingue o programmi, solo la roba preinstallata con Windows XP. Ho già fatto il mio script che modificherà i valori nel Registro di sistema

reg add "HKCU\Control Panel\Desktop" /v Wallpaper /d "C:\Pictures\picture1.jpg" 

Il problema è che lo script non ha effetto in tempo reale anche con questo command:

 RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True 

Devo riavviare innanzitutto per avere effetto.

Se intendo utilizzare le properties; di visualizzazione, verrà visualizzato immediatamente. Quello che ho notato è che i cambiamenti avranno effetto in tempo reale se è un file .bmp e non per le immagini .jpg.

La seconda opzione è quella di convertire JPG in file BMP a 24 bit (per guardare esattamente lo stesso, ma triplicare la dimensione del file), ma spero in un modo migliore.

Ho già girato le cose, ma senza successo. Spero che tu (il lettore utile) possa submit qualsiasi script .bat o even .vbs per cambiare immediatamente Wallpaper da tavolo con immagini JPG. Spero che ci sia una risposta senza installare altre applicazioni o script.

se intendo utilizzare le properties; di visualizzazione, verrà visualizzata immediatamente. quello che ho notato è che i cambiamenti avranno effetto in tempo reale se è un file .bmp e non per le immagini .jpg.

Questo perché Windows non support nulla ma bitmap per lo background (sì, anche in Windows 7).

Quando si imposta un jpeg, gif, png, ecc come background, Windows prima lo converte in bitmap, lo salva in un file temporaneo e imposta lo background a quel file (in Windows 7 il nome del file è più indicativo di questo) :

 In Windows XP: %appdata%\Microsoft\Internet Explorer\Wallpaper1.bmp In Windows 7: %appdata%\Roaming\Microsoft\Windows\Themes\TranscodedWallpaper.jpg 

Quindi temo che in effetti dovrai prima convertirlo in bitmap.

Provare a riavviare l'esploratore, che riavvierà il Registro di sistema che potrebbe (non testato) modificare lo background senza wherer riavviare.

Per farlo in batch

 taskkill /im explorer.exe /f && explorer