1

I need to open it on startup to change the wallpaper at day n night

Dim objShell
str1 = "C:\Users\AnB\Desktop\Texts\Projects\Project WallTime\Day.bat"
str2 = "C:\Users\AnB\Desktop\Texts\Projects\Project WallTime\Night.bat"
Set objShell = Wscript.CreateObject("WScript.Shell")
if hour(time) < 17 then
objShell.Run str1
if hour(time) > 16 then
objShell.Run str2
end if 
end if

This is the vbs that will open batch files that will change the Reg

Batch file for day

@echo off
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "C:\Users\AnB\Desktop\Texts\Projects\Project WallTime\Day and Night\Day.png" /f
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

Batch file for night

    @echo off
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "C:\Users\AnB\Desktop\Texts\Projects\Project WallTime\Day and Night\Night.png" /f
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

but when i use the vbs it did not change the registry

Please Help

Thanks

5
  • Why don't you just create a task in windows to start each batch at a specific time? Feb 8, 2018 at 15:15
  • @FatalBulletHit ,I want to change it this way, Day=00 to 16 and Night=15 to 23 Feb 8, 2018 at 15:27
  • So you create a task at 00:00 and 16:00 which starts the corresponding batch. And if you want to check and change it at system start you create a batch which checks the time and starts the corresponding batch file as well. I don't know how Windows handles tasks when it's in stand-by or sleep, but other than that, tasks should work just fine. :) Feb 8, 2018 at 16:02
  • @FatalBulletHit , then it'll change only at 00.00 and 16.00 right ?,I want to change when I turn my PC on ,not just at 00.00 and 16.00 Feb 9, 2018 at 14:03
  • "And if you want to check and change it at system start you create a batch which checks the time and starts the corresponding batch file as well." Maybe I should add: put it in Autostart or use Windows task scheduler... Feb 9, 2018 at 14:06

1 Answer 1

1

Did it ,thanks for the help

@Echo Off

Set "locn=%UserProfile%\Desktop\Texts\Projects\Project WallTime\Day and Night"
Set "rstr=Reg Add "HKCU\Control Panel\Desktop" /V Wallpaper /D "
Set "str1=%locn%\Day.png"
Set "str2=%locn%\Night.png"
Set /A "now=10%TIME:~,2%" 2>Nul

If %now:~-2% Lss 17 (%rstr% "%str1%" /F >Nul
) Else %rstr% "%str2%" /F >Nul
RunDll32 User32.dll,UpdatePerUserSystemParameters >Nul

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .