侞影隨 發表於 2021-12-14 13:36:00

C# 编写一个小而快的 Windows 动态桌面

<p>开源前段时间写的 Windows 动态桌面软件,在接下来的博客我将描写一些实现细节。这个软件可以把视频设置成桌面背景播放,而且还支持把网页或网页文件设置成桌面背景。支持 .NET Framework 和 .NET Core 运行时,支持 Windows10/11 系统。</p>
<p>欢迎 Star 和 Fork https://github.com/he55/DreamScene2</p>
<p><img src="https://img2020.cnblogs.com/blog/1136046/202112/1136046-20211214113233648-1673231757.gif"></p>
<h2 id="下载地址">下载地址</h2>
<p>https://github.com/he55/DreamScene2/releases/latest</p>
<h2 id="特性">特性</h2>
<ul>
<li>
<p>支持视频播放</p>
</li>
<li>
<p>支持 URL 和网页文件</p>
</li>
<li>
<p>支持启动后自动播放</p>
</li>
<li>
<p>支持设置显示器</p>
</li>
<li>
<p>支持自动暂停播放</p>
<p><img src="https://img2020.cnblogs.com/blog/1136046/202112/1136046-20211214113256626-1673113757.jpg"></p>
</li>
</ul>
<h2 id="下一步">下一步</h2>
<ul>
<li>GIF 和 APNG 播放</li>
<li>Live2D 播放</li>
<li>鼠标和桌面交互</li>
<li>屏幕保护程序</li>
<li>更多视频格式</li>
<li>重新设计 UI</li>
<li>本地化</li>
<li>发布到 Microsoft Store</li>
</ul>
<h2 id="使用技术">使用技术</h2>
<p>使用到了 WinForms, WPF, WebView2, Native 等技术,各取其优点来实现项目功能</p>
<ul>
<li>WinForms: 创建菜单应用简单,方便处理 Windows 消息</li>
<li>WPF: 内置媒体播放器支持播放 .mp4、.mov 文件。第三方播放器引擎运行时太大</li>
<li>WebView2: 不需要携带一个巨大的运行时,而且 Windows 11 系统内置了 WebView2</li>
<li>Native: 如果需要调用大量 Windows API,使用 C++ 写比较方便。然后导出 C 接口给 C# 调用</li>
</ul>
<h2 id="动态桌面原理">动态桌面原理</h2>
<p>如果能把一个窗口放在桌面壁纸和桌面图标之间,然后在自己的这个窗口播放视频或者动画,这就是一个简单的动态桌面软件了。这篇博客 Draw Behind Desktop Icons in Windows 8+ 描写了在桌面图标窗口之下绘制窗口的方法,我是阅读了这个博客才实现的功能。</p><br><br>
来源:https://www.cnblogs.com/he55/p/15687219.html
頁: [1]
查看完整版本: C# 编写一个小而快的 Windows 动态桌面