C# 編寫一個小而快的 Windows 動態桌面


開源前段時間寫的 Windows 動態桌面軟件,在接下來的博客我將描寫一些實現細節。這個軟件可以把視頻設置成桌面背景播放,而且還支持把網頁或網頁文件設置成桌面背景。支持 .NET Framework 和 .NET Core 運行時,支持 Windows10/11 系統。

歡迎 Star 和 Fork https://github.com/he55/DreamScene2

下載地址

https://github.com/he55/DreamScene2/releases/latest

特性

  • 支持視頻播放

  • 支持 URL 和網頁文件

  • 支持啟動后自動播放

  • 支持設置顯示器

  • 支持自動暫停播放

下一步

  • GIF 和 APNG 播放
  • Live2D 播放
  • 鼠標和桌面交互
  • 屏幕保護程序
  • 更多視頻格式
  • 重新設計 UI
  • 本地化
  • 發布到 Microsoft Store

使用技術

使用到了 WinForms, WPF, WebView2, Native 等技術,各取其優點來實現項目功能

  • WinForms: 創建菜單應用簡單,方便處理 Windows 消息
  • WPF: 內置媒體播放器支持播放 .mp4、.mov 文件。第三方播放器引擎運行時太大
  • WebView2: 不需要攜帶一個巨大的運行時,而且 Windows 11 系統內置了 WebView2
  • Native: 如果需要調用大量 Windows API,使用 C++ 寫比較方便。然后導出 C 接口給 C# 調用

動態桌面原理

如果能把一個窗口放在桌面壁紙和桌面圖標之間,然后在自己的這個窗口播放視頻或者動畫,這就是一個簡單的動態桌面軟件了。這篇博客 Draw Behind Desktop Icons in Windows 8+ 描寫了在桌面圖標窗口之下繪制窗口的方法,我是閱讀了這個博客才實現的功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM