My method for automatically changing the Windows 7 logon/logoff wallpaper with every logon.
Step 1: Use one of the many guides on the web to enable custom/oem logon wallpaper, such as Brink's: http://www.sevenforums.com/tutorials/5382-log-screen-change.html
Step 2: Copy whatever JPEG images you want to use for logon/logoff wallpaper in to C:\Windows\System32\oobe\info\backgrounds
You do not need to rename them -- just so long as their file extension is JPG or JPEG they'll be fine.
Step 3: Copy the following into C:\Windows\System32\oobe\info\backgrounds\rand.vbs
*note: if you have more than 100 images, change aWallpaper(100) to a larger value, such as aWallpaper(1000).
Step 4: Create a custom task in the Task Scheduler with the following properties.
You need to set the permissions here for an administrator account that has access to C:\Windows\System32\oobe\info\backgrounds
Add arguments: C:\Windows\System32\oobe\info\backgrounds\rand.vbs
Startup in: C:\Windows\System32\oobe\info\backgrounds
It's a bit more complicated than just installing a program to do it for you... but after you get it going, it zero-management; just drop whatever images you want to use in that folder.
Step 1: Use one of the many guides on the web to enable custom/oem logon wallpaper, such as Brink's: http://www.sevenforums.com/tutorials/5382-log-screen-change.html
Step 2: Copy whatever JPEG images you want to use for logon/logoff wallpaper in to C:\Windows\System32\oobe\info\backgrounds
You do not need to rename them -- just so long as their file extension is JPG or JPEG they'll be fine.
Step 3: Copy the following into C:\Windows\System32\oobe\info\backgrounds\rand.vbs
Code:
'=========================================
'rand.vbs
'Random logon/logoff wallpaper generator
'Author: [email protected]
'=========================================
Option Explicit
Dim objFSO, objFolder, objFile, colFiles
Dim min, max, result, aWallpaper(100)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(".\")
min = 1
max = 0
Set colFiles = objFolder.Files
For Each objFile in colFiles
If ((LCase(Right(CStr(objFile.Name), 3)) = "jpg") Or (LCase(Right(CStr(objFile.Name), 4)) = "jpeg")) Then
If NOT (CStr(objFile.Name) = "backgroundDefault.jpg") Then
max = max + 1
aWallpaper(max) = CStr(objFile.Name)
End If
End If
Next
Randomize
result = Int((max-min+1)*Rnd+min)
objFSO.CopyFile ".\" & aWallpaper(result), ".\" & "backgroundDefault.jpg", True
Step 4: Create a custom task in the Task Scheduler with the following properties.
You need to set the permissions here for an administrator account that has access to C:\Windows\System32\oobe\info\backgrounds
Add arguments: C:\Windows\System32\oobe\info\backgrounds\rand.vbs
Startup in: C:\Windows\System32\oobe\info\backgrounds
It's a bit more complicated than just installing a program to do it for you... but after you get it going, it zero-management; just drop whatever images you want to use in that folder.
My Computer
- OS
- Windows 7 Ultimate x64