-
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+ 描写了在桌面图标窗口之下绘制窗口的方法,我是阅读了这个博客才实现的功能。
出处:https://www.cnblogs.com/he55/p/15687219.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数