고바야시 VB6 라이브 배경 화면 시뮬레이션 프로그램

이 프로젝트는 다음과 같은 정보 [이 당신이 프로그램 실행을 이해하는 데 도움이 될 수 있습니다]을 참조 :

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 전송 0x52C를 사용하여 [SysListView32이 단계는 프로그램 관리자 프로그램 관리자로 분리됩니다. ]

우리의 양식을 Form2 후, [21 년 3 월 지옥 7]의 하위 폼 프로그램 관리자를 설정

우리의 양식을 바탕 화면 전에 형태가 가질 수 있도록.

이 양식 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, 0&, "SHELLDLL_DefView", "") <> 0& 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, 0&, "TXMiniSkin", "桌面整理")
If Tx <> 0 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對它進行安裝。

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

추천

출처www.cnblogs.com/lingqingxue/p/11275587.html