用VB制作自动更换墙纸的小软件
---- 这个小软件的功能,自然无法同久已成名的WPC(wallpaper changer)相媲美,但由于是自制的,用起来又别有一番乐趣。古人言,“独乐”不如“众乐”,所以我拿出来与大家共享,又希望能让初学者对于VB编程窥见一斑。
---- 这个小软件所用控件仅一列表框,两文本框,两标签,两命令及一定时控件而已。其界面如下:
---- 源代码:
Declare Function SystemParametersIn fo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Dim flag As Boolean Const SPI_SETDESKWALLPAPER = 20 Const SPIF_UPDATEINIFILE = &H1 'update Win.ini Constant Const SPIF_SENDWININICHANGE = &H2 'update Win.ini and tell everyone
Private Sub CmdCancel_Click() flag = False Textpath = "" Textintval = "" Listfile.Clear End Sub
Private Sub CmdOK_Click() Dim temp As String temp = Textpath.Text If temp = "" Then End If Right$(temp, 1) < > "\" Then temp = temp + "\" End If Listfile.Tag = temp temp = temp + "*.bmp" temp = Dir$(temp) While temp < > "" Listfile.AddItem temp temp = Dir$ Wend Listfile.AddItem "None" Show Listfile.ListIndex = 0 If Listfile.List(0) = "None" Then flag = False Else flag = True End If End Sub
Private Sub Form_Load() flag = False Timer1.Interval = Val(Textintval.Text) End Sub
Private Sub Timer1_Timer() Dim temp As String Dim bmpfile As String If flag Then temp = Listfile.Tag bmpfile = temp + Listfile.List(Listfile.ListIndex) SystemParametersInfo SPI_SETDESKWALLPAPER, 0, bmpfile, SPIF_UPDATEINIFILE If Listfile.ListIndex = Listfile.ListCount - 1 Then Listfile.ListIndex = 0 End If Listfile.ListIndex = Listfile.ListIndex + 1 End If End Sub
| 出处: VB大世界/潘建明 日期: 2005-1-7 |
好:2 一般:0 差:0 |
|