文档库 最新最全的文档下载
当前位置:文档库 › 自动更换墙纸的小程序易语言源码

自动更换墙纸的小程序易语言源码

自动更换墙纸的小程序易语言源码
自动更换墙纸的小程序易语言源码

界面部图

所需程序的数据

的原代码:

.版本 2

.支持库vclbase

.程序集窗口程序集1

.程序集变量flag, 逻辑型

.程序集变量bmpfile, 文本型

.子程序_按钮_立即更换_被单击

' ' 当"立即更换"按钮被按下时

' Sub CmdNow_Click()

' Dim bmpfile As String

' '如果列表框中没有图片,不做任何操作

' If Listfile.ListCount = 0 Then End

' '否则把选中的图片更换为墙纸

' bmpfile = Listfile.List(Listfile.ListIndex)

' SystemParametersInfo SPI_SETDESKWALLPAPER, 0, bmpfile, SPIF_UPDA TEINIFILE

' End Sub

.如果真(列表框1.取项目数() ≠0)

bmpfile =列表框1.取项目文本(列表框1.现行选中项)

.如果真(文件是否存在(bmpfile) =真)

SystemParametersInfo (#SPI_SETDESKWALLPAPER, 0, bmpfile, #SPIF_UPDA TEINIFILE)

.如果真结束

.如果真结束

.子程序_按钮_添加墙纸_被单击

' ' 当"添加墙纸"按钮被按下时

' Sub CmdAdd_Click()

' '弹出通用对话框(打开文件)

' On Error Resume Next

' ComOpen.CancelError = True

' ComOpen.ShowOpen

' If Err = cdlCancel Then Exit Sub

' '如果选择了墙纸图片则把图片的路径添加到列表框中去

' Listfile.AddItem ComOpen.FileName

' End Sub

.如果真(打开图片文件对话框1.打开())

列表框1.加入项目(打开图片文件对话框1.文件名, )

.如果真结束

.子程序_按钮_退出_被单击

' '当"退出程序"按钮被按下时,退出

' Sub CmdExit_Click()

' Unload Me

' End Sub

结束()

.子程序__启动窗口_创建完毕

' '窗体加载时

' Sub Form_Load()

' 'flag为布尔型变量,标示列表框中是否有文件存在

' flag = False

' '设置自动更换墙纸的间隔时间,单位为毫秒,可以改变

' Timer1.Interval = 5000

' End Sub

flag =假

时钟1.时钟周期=5000

.子程序_时钟1_周期事件

' ' 当经历一定间隔时间,定时器TIMER被唤醒,执行指定任务

' Sub Timer1_Timer()

' '如果列表框中没有图片,不进行任何操作

' If Listfile.ListCount = 0 Then

' Exit Sub

' '否则把标示flag置为True

' Else: flag = True

' End If

' 'bmpfile为字符串变量,存储图片路径

' Dim bmpfile As String

' '如果flag为真

' If flag Then

' '从列表框中读取一个文件路径并赋值给bmpfile

' bmpfile = Listfile.List(Listfile.ListIndex)

' '把墙纸更换为bmpfile所指图片,并修改INI文件

' SystemParametersInfo SPI_SETDESKWALLPAPER, 0, bmpfile, SPIF_UPDA TEINIFILE

' '如果已经是列表框中最后一张图片,把ListIndex设为0即第一张图片

' If Listfile.ListIndex = Listfile.ListCount - 1 Then

' Listfile.ListIndex = 0

' '否则ListIndex加一,指向下一张图片

' Else

' Listfile.ListIndex = Listfile.ListIndex + 1

' End If

' End If

' End Sub

.如果真(列表框1.取项目数() ≠0)

flag =真

bmpfile =列表框1.取项目文本(列表框1.现行选中项)

.如果真(文件是否存在(bmpfile) =真)

SystemParametersInfo (#SPI_SETDESKWALLPAPER, 0, bmpfile,

#SPIF_UPDA TEINIFILE)

.如果(列表框1.现行选中项=列表框1.取项目数() -1) 列表框1.现行选中项=0

.否则

列表框1.现行选中项=列表框1.现行选中项+1 .如果结束

.如果真结束

.如果真结束

源码图

源码

.版本 2

.常量SPI_SETDESKWALLPAPER, "20", , 设置墙纸

.常量SPIF_UPDA TEINIFILE, "1", , 更新windows ini 文件

.常量SPIF_SENDWININICHANGE, "2", , 更新windows ini 文件

源码图

源码

.版本 2

.DLL命令SystemParametersInfo, 整数型, "user32", "SystemParametersInfoA", , 允许获取和设置数量众多的windows系统参数返回值Long,非零表示成功,零表示失败?会设置GetLastError 在调用这个函数之前,特别要注意将lpvParam参数定义成正确的数据类型.参数uAction, 整数型, , Long,指定要设置的参数?参考uAction常数表

.参数uParam, 整数型, , Long,参考uAction常数表

.参数lpvParam, 文本型, , Any,按引用调用的Integer?Long和数据结构?对于String数据,请用SystemParametersInfoByval函数?具体用法参考uAction常数表

.参数fuWinIni, 整数型, , Long,取决于不同的参数及操作系统,随同这个函数设置的用户配置参数保存在win.ini或注册表里,或同时保存在这两个地方?这个参数规定了在设置系统参数的时候,是否应更新用户设置参数?可以是零(禁止更新),或下述任何一个常数: SPIF_UPDA TEINIFILE 更新win.ini和(或)注册表中的用户配置文件SPIF_SENDWININICHANGE 倘若也设置了SPIF_UPDA TEINIFILE,将一条WM_WININICHANGE消息发给所有应用程序?否则没有作用?这调消息告诉应用程序已经改变了用户配置设置

源码图

备注请参考源码

相关文档