Batya
|
Posted: Wed Aug 23, 2006 18:27 Post subject: |
|
|
Code: | '==============================================================================
' Установка в качестве обоев случайного файла из текущего каталога
' Для установки обоев используется программа IrfanView
'
' В качестве первого параметра указать полный путь до папки или:
' "%P"
' Вторым параметром можно указать имя файла-картинки
'==============================================================================
Option Explicit
Dim MyPictures, Irfan
'============= Задайте каталог картинок по умолчанию =========================
MyPictures = "e:\Photo\2005_12_24\"'"D:\Pictures"
'============== Задайте путь IrfanView ========================================
Irfan = "D:\Program Files\IrfanView\i_view32.exe"
'==============================================================================
If WScript.Arguments.Count = 0 Then
MsgBox "Не указан параметр - папка с обоями", _
vbOKOnly + vbExclamation, _
"Установка обоев"
WScript.Quit
End If
Dim FSO, WSH, oFolder, n, x, FilesSet, aFileSet, Wall
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = WScript.CreateObject("WScript.Shell")
Set oFolder = FSO.GetFolder(WScript.Arguments(0))
FilesSet = Pictures(oFolder)
aFileSet = Split(FilesSet, vbCr)
n = UBound(aFileSet)
Wall = ""
Randomize
If n > 0 Then
x = Int(n * Rnd) + 1
Wall = aFileSet(x - 1)
Else
If WScript.Arguments.Count > 1 Then
Wall = WScript.Arguments(1)
Else
If FSO.FolderExists(MyPictures) Then
FilesSet = Pictures(FSO.GetFolder(MyPictures))
aFileSet = Split(FilesSet, vbCr)
n = UBound(aFileSet)
If n > 0 Then
x = Int(n * Rnd) + 1
Wall = aFileSet(x - 1)
End If
End If
End IF
End If
If Len(Wall) > 0 Then
WSH.Run("""" & Irfan + """ " + Wall + " /wall=2 /killmesoftly")
Else
MsgBox "Не найден файл с картинкой", _
vbOKOnly + vbExclamation, _
"Установка обоев"
End If
Set oFolder = Nothing
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit
Function Pictures(oFold)
Dim ScanFile, Ext
Pictures = ""
For Each ScanFile in oFold.Files
Ext = LCase(FSO.GetExtensionName(ScanFile))
If Ext = "jpg" or Ext = "bmp" or Ext = "gif" or Ext = "jpeg" Then
Pictures = Pictures + ScanFile.Path + vbCr
End If
Next
Set ScanFile = Nothing
Set oFold = Nothing
End Function
|
Я не знаю, как ком. строкой задать обои, кроме как используя IrfanView. Задайте пусть к нему в скрипте. |
|