易语言写pc动态视频壁纸工具
洪雨用过市面上多款动态壁纸软件,确实效果都不错,确实非常炫酷。
不过也有问题,一是长时间运行内存增大问题,二是这些软件一开始免费后来就开始收费。要想下载炫酷的壁纸必须办理会员。
所以,就想到自己写一个这样的工具。
正好之前看到论坛有人发布相关动态桌面的工具,看了下原理,就开始自己写了一下。
其实这种软件非常的简单,核心功能需要的代码十几行就能搞定。但是有一些难点需要攻克。
主要原理就是找一个能播放视频的东西,让它循环播放视频,然后嵌到桌面上,并且置顶显示。
之前看到论坛那人的源码,是用浏览器播放视频……额,其实我也不太理解为什么要这样做。我的想法就是搞一个视频播放器,镶嵌到桌面上。
这样优点很多,你可以控制播放器的循环还是顺序播放,循环几次,视频声音,音量等。
说道这里,难点就两个,一个是桌面镶嵌,一个是播放器。
我这个人不追求技术的高精尖,论坛的源码人家是用api写的,我直接用模块,发现人家写的就没毛病,而我写的就有bug。做出来的东西,效果是不错,但是会遮挡整个桌面,鼠标无法点击文件了……
怎么都不好使……(洪雨的易语言交流群:181031509)
没办法用,还是乖乖用api吧。
' SetParent (窗口句柄, workerW) ' 窗口_置父
' SetWindowPos (窗口句柄, #HWND_TOP, 0, 0, 0, 0, 位或 (#DT_LEFT, #WS_EX_LTRREADING, #WS_EX_RIGHTSCROLLBAR, #WS_EX_NOACTIVATE)) ' 窗口_置顶
就是这样两个命令,上面已经注释好了,一个是镶嵌,一个是置顶。
这样就解决了一个问题,第二个问题是播放器的问题。
易语言自带有播放器组件,虽然这几年从来没用过,但是我知道有个播放器组件。不会用,直接百度,论坛搜索,好不容易搞定了。
好家伙,不能静态编译……
最后怎么解决的呢?
还是翻箱倒柜,漫山遍野的百度搜索论坛搜索,好家伙终于让我找到一个播放器的模块,可以静态编译。
就此,两个主要问题解决。
没过一个星期,新的精易模块更新了,我一看更新日志,居然有这个镶嵌bug的修复。
这下好了,api也不需要了,直接模块一个命令搞定。
创建播放器以后,取个播放器句柄,然后直接命令“窗口_嵌入桌面 (句柄)”,呵呵,傻瓜式搞定。
编程有时候就这么简单……
如此这般,一个小白也可以写自己的动态视频壁纸工具。想要播放器模块的朋友,请自己百度!老子也是找了好久!
剩下的就是软件完善,其实这才是刚刚开始。
比如,你播放一个视频,然后又播放了一个视频,两个视频就会重叠播放,声音混合。你需要调整播放逻辑。
视频一个一个加载是不是很麻烦?直接来一个列表框,一点击就加载播放,是不是很方便?
既然来了个列表框,是不是应该支持批量视频导入?
长时间运行内存消耗大是一个永恒的问题,你要不要想办法解决一下?(洪雨的易语言交流群:181031509)
本文转载自:http://www.zhizhuowz.com/post-684.html