Automatic change wallpaper at specific time

Solution 1:

Microsoft provides two methods for this -

  1. (Inbuilt feature) Set Up a Slideshow That Changes on a Schedule

    • Setup a folder with your desktop backgrounds (Windows will go through the folder in alphanumerical order, so you’ll need to name the images appropriately. The correct order depends on the current time of day.)

    Windows 10

    • Head to Settings > Personalization > Background

    • Click the “Background” box, and then select the “Slideshow” option

    • Under “Choose albums for your slideshow, click the “Browse” button, and then select the folder containing your background images
    • Under “Change picture every,” click the box and select “6 hours” if you have four background images you want to cycle through. You can also select “1 hour” here if you want to provide 24 background images.
    • Ensure the Shuffle option is turned off. If Shuffle is enabled, you’ll get random background images and they won’t match the time of day.

    Windows 7

    • Open the desktop background configuration screen by right-clicking the desktop and selecting “Personalize”

    • In the Desktop Background window, click the “Browse” button to the right of Picture location, and then choose the folder containing your wallpaper images.

    • Select the background images you want to use, and then enable the timed slideshow feature on the “Change Picture Every” dropdown menu.

  2. (App) How to Change Your Desktop Backgrounds With the Task Scheduler

    Step I: Bginfo

    • To get started, download BgInfo from Microsoft and extract its files into a folder. Launch the “Bginfo64.exe” (64-bit) or the Bginfo.exe (32-bit)
    • After you fire up BGInfo, first select all the text in the main box and erase it. Type a single space character (or multiple space characters) here. This will prevent BGInfo from inserting any text into your background and ensure it will only change the wallpaper.
    • Second, click the “Background” button. In the Background window, select the “Use These Settings” option. Set the “Wallpaper Position” to either “Center” or “Stretch”—whatever you want to do with your background image. Then, click the “…” button to the right of the “Wallpaper Bitmap” box, and then browse to one of the background images you want to use.
    • Click “OK” when you’re done.
    • Next, click File > Save As, and then save your configuration as a .bgi file. For example, we selected our day background image file while creating this profile, so we named it "Sunset.bgi".
    • Now, repeat this process to create a separate .bgi profile representing each of your background images, naming them after the times of day you want to use them. When you’re done, your save folder should have all your images and a .bgi profile for each.

    Step II: Task Scheduler

    • In Task Scheduler, click Action > Create Basic Task to create a new task
    • Give the task a name, and then click the “Next” button. For example, if this task will apply your sunset wallpaper around sunset, you might name it “Sunset Wallpaper.”
    • Select the “Daily” trigger, and then click the “Next” button again
    • Enter the time when you want the wallpaper to appear. For example, if sunset takes place around 7 p.m. in your location, you might set the wallpaper to appear at 6 p.m.. Select whatever time you like.
    • Ensure the task is set to recur every “1” days, and then click the “Next” button.
    • Select the “Start a Program” action, and then click “Next” again.
    • To the right of the “Program/script” text box, click the “Browse” button, and then browse to the Bginfo64.exe or Bginfo.exe program you used earlier.
    • In the “Add arguments (optional)” box, type the following text, replacing C:\path\to\Sunset.bgi with the path to the BGI file you created earlier: C:\path\to\Sunset.bgi /timer 0 /silent
    • Click “Next” to continue.
    • Select the “Open the Properties dialog for this task when I click Finish” check box, and then click “Finish” to create your task.

Source: HowToGeek