本項目參考了以下資料[這可能對你理解程序運行有幫助]:

https://github.com/Yinmany/WinWallpaper

https://blog.csdn.net/breaksoftware/article/details/4332371

https://tieba.baidu.com/p/5015219921?red_tag=0411291965

引用了迅雷的Aplayer引擎:

http://aplayer.open.xunlei.com/index.html

本項目地址:https://github.com/Tyningling/Dynamicwallpaper

——————————————————————————————

使用示例:

1.創建壁紙窗體:

使用win32api.SendMessageTimeOut向Program Manager 發送0x52c [這個步驟將使SysListView32与Program Manager分離。]

之後將我們的窗體Form2,設置為Program Manager的子窗體 [管它三七二十一]

這樣我們的窗體就成爲了壁紙之前的窗體。

2.關於TXMiniSkin__這個窗體是騰訊桌面整理組件

在測試環境中,360桌面助手能與壁紙窗體共存,是因爲,它是一個獨立窗體,用類似于創建壁紙窗體的方法,設置了透明的收納格,這個程序的實現也十分簡單。

但是,在騰訊的桌面整理中,它就沒有這麽友善了,請看大屏幕:

(圖爲使用SetParent將其父窗體設置為Form1)

沒錯,它建立一了個 TxMiniSkin窗體,然後繪製了圖標,并且不斷的刷新自己為壁紙窗體,最後我的解決方法是:

在EnumWindowsProcA()的回調函數中,找到它,并設置它為隱藏窗體。

Public Workerw As Long, Tx As Long, Tx_B As Boolean
Public Function EnumWindowsProcA(ByVal hWnd As Long, ByVal lParam As Long) As Boolean
If win32api.FindWindowExA(hWnd, &, "SHELLDLL_DefView", "") <> & Then
Workerw = win32api.FindWindowExA(&O0, hWnd, "WorkerW", "")
'Call win32api.ShowWindow(Workerw, SW_SHOW)
Call win32api.ShowWindow(Workerw, SW_HIDE)
End If
'特殊处理:
'__________关于腾讯桌面整理导致的问题
If Not Tx_B Then
Tx = win32api.FindWindowExA(hWnd, &, "TXMiniSkin", "桌面整理")
If Tx <> Then Call win32api.ShowWindow(Tx, SW_HIDE): Tx_B = True
End If
EnumWindowsProcA = True
End Function

3.動態壁紙組件

我所使用的是迅雷的Aplayer,由于解碼庫比較大,所以請自行從官網下載并放置到 【Bin\Codecs】 中。

爲什麽使用Aplayer?  大概是因爲比較方便,VB6可以直接調用ActiveX控件,但是你必須先使用install.bat對它進行安裝。

另外,其實你也可以使用別的播放組件來實現播放。

小林的VB6動態壁紙模擬程序的更多相关文章

  1. Python_小林的爬取QQ空间相册图片链接程序

    前言 昨天看见某人的空间有上传了XXXX个头像,然后我就想着下载回来[所以本质上这是一个头像下载程序],但是一个个另存为太浪费时间了,上网搜索有没有现成的工具,居然要注册码,还卖45一套.你们的良心也 ...

  2. VB6_小林的气象类模块

    前言. [如果使用过程有什么问题可以QQ或邮箱联系我. 1919988942  | w2638301509@gmail.com] ___________________________________ ...

  3. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (3):部署設定及應用 (转帖)

    說明:這一篇主要是說明如何將程式部署到Application Server,以及程式如何運作,產生的檔案置於何處,以及如何以瀏覽器呈現(Applet),或是當成桌面應用程式,或是 桌面Applet,這 ...

  4. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (2):JavaFX建立及程式碼說明 (转帖)

    說明:就如同標題一樣,前端會用到JavaFX.Swing.Java Web Start.Google Map 的技術, 後端就是JDBC.Servlet的技術,以及我們會簽署認證jar檔案,這樣才可存 ...

  5. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet (转帖)

    JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet 功能:這支程式的主要功能是將 javafx 與 swi ...

  6. [Xamarin] 動態載入Fragment (转帖)

    這篇我們來動態加入,一樣務求好懂簡單 1.一樣先將專案調整成3.0以上版本 2.首先建立自定Control的Layout \Resources\Layout\MyControlLayout1.axml ...

  7. [C#]動態叫用Web Service

    http://www.dotblogs.com.tw/jimmyyu/archive/2009/04/22/8139.aspx 摘要 Web Service對大家來說想必都不陌生,也大都了解Web S ...

  8. .net dropdownlist 動態顯示,指定字段

    dropdownlist 動態顯示,指定字段 this.ddlPermission.Items.Clear(); ,new ListItem("請選擇","") ...

  9. SQL Server 2016 的「動態資料遮罩 (Dynamic Data Masking)」

    一些特別注重資訊安全.個人資料的公司或產業 (如: 金融.保險業),通常「測試用資料庫」的資料,會加上「遮蔽:去識別化」的功能,避免個資外洩.以往必須自己撰寫 SQL 語句或 Stored Proce ...

随机推荐

  1. eclipse调试断点

    1.条件断点 如果你不知道如何添加断点,只需点击左边面板(行号前面)断点即被创建.在调试界面中,“断点”视图会把所有被创建的断点列出来.我们可以给它加一个布尔条件,也就是说,该断点会被激活并且如果布尔 ...

  2. MULTIPOLYGON、POLYGON 封装为echart geoJson 数据封装

    一.环境.问题简述: 1.采用的事前后端分离,后端需要封装将点位获取的点位信息封装为geoJson数据类型,供前端利用echart 绘制地图: 2.思路:简单理解geoJson,将对应坐标点位封装为g ...

  3. 配置NFS共享

    NFS(网络文件系统)-------> linux与linux平台 服务器端: 1.安装软件nfs-utils(服务:nfs-server) 2.创建共享目录:mkdir /nfs_dir 3. ...

  4. 小米oj 帮小学生排队(排序+插入)

     帮小学生排队 序号:#18难度:有挑战时间限制:1000ms内存限制:10M 描述 用一个数组表示一群正在排队的小学生,每个小学生用一对整数 H, K 来表示:H 表示这个小学生的身高,K 表示这个 ...

  5. 【luoguP4124 】[CQOI2016]手机号码

    题目描述 人们选择手机号码时都希望号码好记.吉利.比如号码中含有几位相邻的相同数字.不含谐音不吉利的数字等.手机运营商在发行新号码时也会考虑这些因素,从号段中选取含有某些特征的号码单独出售.为了便于前 ...

  6. Django基础之response对象

    与由DJango自动创建的HttpRequest对象相比, HttpResponse对象是我们的职责范围了. 我们写的每个视图都需要实例化, 填充和返回一个HttpResponse. HttpResp ...

  7. jQuery属性操作之DOM属性操作

    DOM属性操作是对DOM元素的属性进行读取.设置和移除操作, 比如prop(). removeProp(). 1. prop() 1.1 使用prop()获取返回值 prop() 用于返回属性值时, ...

  8. Mybatis源码学习之DataSource(七)_1

    简述 在数据持久层中,数据源是一个非常重要的组件,其性能直接关系到整个数据持久层的性能.在实践中比较常见的第三方数据源组件有Apache Common DBCP.C3P0.Proxool等,MyBat ...

  9. Github提交PR(pull request)过程

    PR 想一想, 也可以想执行6.7.8, 再执行4.5. 避免原仓库和fork仓库的冲突 fork到自己的仓库 git clone到本地 git remote add upstream [原项目地址] ...

  10. vuecli3.0 webpack4 配置vuex

    废话不说,直接写步骤 1. npm install vux --save 2. npm install less less-loader --save-dev 3. npm install @vux/ ...