這個小軟件的功能,自然無法同久已成名的WPC(wallpaperchanger)相媲美,但由於是自制的,用起來又別有一番樂趣。古人言,“獨樂”不如“眾樂”,所以我拿出來與大家共享,又希望能讓初學者對於VB編程窺見一斑。
這個小軟件所用控件僅一列表框,兩文本框,兩標簽,兩命令及一定時控件而已。
源代碼:
DeclareFunctionSystemParametersInfoLib"user32"Alias"SystemParametersInfoA"(ByValuActionAsLong,ByValuParamAsLong,ByVallpvParamAsAny,ByValfuWinIniAsLong)AsLong
DimflagAsBoolean
ConstSPI_SETDESKWALLPAPER=20
ConstSPIF_UPDATEINIFILE=&H1
'updateWin.iniConstant
ConstSPIF_SENDWININICHANGE=&H2
'updateWin.iniandtelleveryone
PrivateSubCmdCancel_Click()
flag=False
Textpath=""
Textintval=""
Listfile.Clear
EndSub
PrivateSubCmdOK_Click()
DimtempAsString
temp=Textpath.Text
Iftemp=""ThenEnd
IfRight$(temp,1)<>""Then
temp=temp ""
EndIf
Listfile.Tag=temp
temp=temp "*.bmp"
temp=Dir$(temp)
Whiletemp<>""
Listfile.AddItemtemp
temp=Dir$
Wend
Listfile.AddItem"None"
Show
Listfile.ListIndex=0
IfListfile.List(0)="None"Then
flag=False
Else
flag=True
EndIf
EndSub
PrivateSubForm_Load()
flag=False
Timer1.Interval=Val(Textintval.Text)
EndSub
PrivateSubTimer1_Timer()
DimtempAsString
DimbmpfileAsString
IfflagThen
temp=Listfile.Tag
bmpfile=temp Listfile.List(Listfile.ListIndex)
SystemParametersInfoSPI_SETDESKWALLPAPER,0,bmpfile,SPIF_UPDATEINIFILE
IfListfile.ListIndex=Listfile.ListCount-1Then
Listfile.ListIndex=0
EndIf
Listfile.ListIndex=Listfile.ListIndex 1
EndIf
EndSub->