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

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. 【SQL-历史执行语句查询】 查询对数据库执行了哪些SQL

    Sql语句 QS.creation_time as '创建时间', ), (( THEN DATALENGTH(st.text) ) ) AS '查询语句' , ST.text as '执行文本', ...

  2. python函数参数的传递、带星号参数的传递

    python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要 ...

  3. Poj 2887 Big String(块状数组)

    Big String Time Limit: 1000MS Memory Limit: 131072K Description You are given a string and supposed ...

  4. Go位运算

    目录 &(AND) |(OR) ^(XOR) &^(AND NOT) << 和 >> & 位运算 AND | 位运算 OR ^ 位运算 XOR & ...

  5. 树莓派安装QT(全部库包括)

    在网上现有的资料中大部分只有前两个命令,少量有三个命令,因此写下该博客 在树莓派上安装QT5的全部库,包括QtQuick.QtMultimedia库. sudo apt-get install qt5 ...

  6. Clion + 树莓派/Ubuntu 远程调试

    Clion进行远程调试 在大三下半学期学习Linux高级编程时,老师布置的作业要在linux机器上进行,当时完成的十分艰苦,调试难受的一匹,当时就萌生了这个想法,因为Jetbrains官方文档的晦涩( ...

  7. DbFunctions 作为 LINQ to Entities 查询的一部分使用时,此方法调用规范 CreateDateTime EDM 函数以创建新的 DateTime 对象。

    DbFunctions.CreateDateTime CreateDateTime(year, month,day,hour,minute,second)

  8. python 文件压缩及解压

    文件压缩 import os import zipfile def zip_dir(dirname,zipfilename): """ | ##@函数目的: 压缩指定目录 ...

  9. 可插拔式后台管理系统(Django)

    1.实现效果 研究了下django admin的功能,自己实现了一个简单的可插拔式后台管理系统,方便自定义特殊的功能,而且作为一个独立单独的django app,可以整体拷贝到其他项目中作为后台数据管 ...

  10. java不用中间变量交换两个值

    public void changeVal(){ int a = 2; int b = 3; System.out.println("交换前 a:"+a+",b:&quo ...