Tôi chỉ cố gắng thêm các gia vị nhỏ vào kịch bản của John. Tôi cố gắng làm cho kịch bản có khả năng thay đổi hình nền mỗi phút một lần theo thời gian trong ngày. Ví dụ: từ 5,00 đến 8,59, nó thay đổi một số hình nền với chủ đề buổi sáng; từ 9.00 đến 13.59, nó thay đổi một số hình nền với chủ đề giữa trưa; và kể từ đó trở đi. Mỗi chủ đề trong kịch bản này chứa 4 hình ảnh BMP. Vì có năm chủ đề được bao gồm trong kịch bản (sáng, trưa, chiều, tối và đêm), sẽ có 20 hình ảnh cần thiết để kịch bản này hoạt động.
'creating procedure that changes wallpaper every minute
Sub ChangeWallpaperPerMinute ()
Set obshell = WScript.CreateObject("Wscript.Shell")
CurrentHour = Hour(Now)
'determining the number of images for every time of the day-based theme (set the 'maximum' value according to the number of images for every theme)
maximum=4
minimum=1
'randomizing the images to be changed
Randomize
num = Int((maximum-minimum+1)*Rnd+minimum)
If CurrentHour >= 5 And CurrentHour <= 8 Then
wallpaper = "morning" & num & ".bmp"
ElseIf CurrentHour >= 9 And CurrentHour <= 13 Then
wallpaper = "midday" & num & ".bmp"
ElseIf CurrentHour >= 14 And CurrentHour <= 16 Then
wallpaper = "afternoon" & num & ".bmp"
ElseIf CurrentHour >= 17 And CurrentHour <= 20 Then
wallpaper = "evening" & num & ".bmp"
ElseIf CurrentHour >= 21 And CurrentHour <= 23 Then
wallpaper = "night" & num & ".bmp"
ElseIf CurrentHour >= 0 And CurrentHour <= 4 Then
wallpaper = "night" & num & ".bmp"
Else
WScript.Quit(0)
End If
obshell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper",wallpaper
obshell.Run "%windir%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters",1,False
Set obshell = Nothing
End Sub
'end of procedure creation'
'calling procedure to initiate script's action
ChangeWallpaperPerMinute
'repeating the calling of procedure
do
WScript.sleep(60 * 1000)
'60 * 1000 means sixty seconds. If the shifting of wallpapers is expected to occur once every ten seconds, change to 10 * 1000
'calling procedure
ChangeWallpaperPerMinute
Loop
Để làm cho tập lệnh này có thể hoạt động, ngoài chính tập tin tập lệnh, 20 hình ảnh BMP cũng cần thiết. Bốn trong số những hình ảnh đó phải được đặt tên theo danh pháp quy định; đó là, ví dụ: morning1.bmp, morning2.bmp, morning3.bmp và morning4.bmp. Danh pháp tương tự cũng được áp dụng cho việc đặt tên của 4 hình ảnh giữa trưa, 4 hình ảnh buổi chiều, 4 hình ảnh buổi tối và 4 hình ảnh đêm. Đặt tệp VBS cùng với 20 tệp hình ảnh trong một thư mục. Vì tập lệnh này liên tục gọi thủ tục của nó theo các khoảng thời gian được chỉ định, khi bạn sử dụng các tác vụ theo lịch trình, hãy chắc chắn rằng bạn chỉ kích hoạt tập lệnh này khi đăng nhập hệ thống. Để hủy kích hoạt tập lệnh này, chỉ cần giết wscript.exe bằng trình quản lý tác vụ.