洪雨用過市面上多款動態壁紙軟件,確實效果都不錯,確實非常炫酷。
不過也有問題,一是長時間運行內存增大問題,二是這些軟件一開始免費后來就開始收費。要想下載炫酷的壁紙必須辦理會員。
所以,就想到自己寫一個這樣的工具。
正好之前看到論壇有人發布相關動態桌面的工具,看了下原理,就開始自己寫了一下。
其實這種軟件非常的簡單,核心功能需要的代碼十幾行就能搞定。但是有一些難點需要攻克。
主要原理就是找一個能播放視頻的東西,讓它循環播放視頻,然后嵌到桌面上,並且置頂顯示。
之前看到論壇那人的源碼,是用瀏覽器播放視頻……額,其實我也不太理解為什么要這樣做。我的想法就是搞一個視頻播放器,鑲嵌到桌面上。
這樣優點很多,你可以控制播放器的循環還是順序播放,循環幾次,視頻聲音,音量等。
說道這里,難點就兩個,一個是桌面鑲嵌,一個是播放器。
我這個人不追求技術的高精尖,論壇的源碼人家是用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