惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
I
InfoQ
B
Blog RSS Feed
D
DataBreaches.Net
S
SegmentFault 最新的问题
P
Proofpoint News Feed
A
About on SuperTechFans
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
小众软件
小众软件
博客园 - Franky
有赞技术团队
有赞技术团队
D
Docker
T
Tailwind CSS Blog
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Blog — PlanetScale
Blog — PlanetScale
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog
V
Visual Studio Blog
宝玉的分享
宝玉的分享
爱范儿
爱范儿

.NET

.net framework 项目新样式 数据库迁移报错 知乎网友:“VS2026 还是跑在 .NET Framework 4.8 上,看来 .NET LTS 只有三年的问题还真把微软自己的脖子卡住了” .Net 有没有类似若依这种后台框架? 请教个 .NET Framework 4.0 升级以运行在 arm 上的问题 应届生刚入职,做的是 wms+mes+mes 二次开发,因为没学过.net+c#,现在接口代码全靠 ai 写怎么办 csharp 这回真成了脚本语言: dotnet run app.cs 小弟写了一个 ETLBox 写入数据到 ClickHouse 的组件, 需要用到的兄弟们可以看看 C#.net9wpf 项目这份.gitignore 规则可行吗?还有什么可以添加的吗? 有人试过从 WCF 迁移到 ASP.NET Core Web API 吗? 项目从.NET5.0 升级到 8.0,加起来 1.5 万行代码, Linux 下编译经常要半个小时,有的时候又几秒钟就能编译完, Windows 下一直非常正常,怎么排查? 分享一个使用 C#封装的 gRPC 组件 C# .NET 现在相对成熟的跨平台 UI 框架是否还是只有 Avalonia? MAUI 怎么样了 ASP .NET Core + EF Core + MySQL 这个统计查询在 3 亿条记录的表下每次查询都需要 2~4 分钟,优化的办法只有用触发器或是后台每小时定期统计吗? Avalonia UI 更新到 11 以后启动慢有办法优化吗? EF Core 这类较重的 ORM 框架适合塞进客户端吗?如果是用于本地 SQLite 数据库,有没有更好的选择? Windows 普通用户,可否禁用系统自带.net 3.5/4.8,仅安装最新.net 8/9? 同一程序内的消息队列,这样用单例的简易实现比 redis 的 Pub-Sub 效率高吗?如果不实现 Unsubscribe,有内存泄漏风险吗? Avalonia 11 后要从 ItemsControl 调用母 UserControl 的命令这种常见操作就必须每次都写这么长一坨东西吗? .NET build 到 wasm 后怎么看错误代码在哪个 .cs 文件的哪个位置? DevTools 和那个 Debug URL 里都只能看到 e.Message macOS 单用户环境 dotnet 装在 ~/.dotnet/ 还是 /usr/local/share/dotnet/ 更好? Rider 默认是前者,官网下载的 .pkg 默认是后者 efcore 中, 使用 FromSql 查询时, 如何设置 where in 参数? 有没有 .NET 大神帮忙看看困扰了好几个大神一年的内存泄露问题,优化了一年越变越严重,现在一小时崩一次 有用过 SQLSugar 的吗?能说说体验吗? .NET 大牛们,这次遇到了一个涉及知识盲区的 BUG,与 Redis 有关 求助大佬们,干了件蠢事,我都不理解我为什么要用 Rider 去装 SDK,导致现在删不掉也找不到了 nuget 服务器有问题了,不会也是那个 CrowdStrike 出问题导致的吧 为什么我已经在 Visual Studio 中安装了.Net 8.0,但是命令行显示的版本仍然是 6.0.31? 我使用 vscode,如何平稳的将.Net7.0 升级到.Net8.0? 我想重构我这个项目的前端,有什么好的建议? 接了个小活,选 Windows 窗体应用还是 WPF 应用?
[分享创造] 开源轻量级 WinForm 壁纸切换器 Wallpaper Switch...
lorenzoyang2002 · 2025-08-07 · via .NET

大家好!

作为一个 C# 新手,完成了我的第一个真正有用的个人项目:Wallpaper Switcher (壁纸切换器),并已开源。

一句话介绍: 一个基于 WinForms 开发的轻量级工具,专注于快速、方便地管理和切换静态壁纸。支持 Windows 8/10/11 (.NET 9)。

核心痛点 & 为什么做这个?

  • 曾是 Wallpaper Engine 用户,但主要用静态壁纸。
  • WE 对静态壁纸管理稍显臃肿,迁移配置麻烦。
  • 动态壁纸有功耗,切换窗口时偶尔卡顿。
  • 需要更轻量、专注、易迁移的静态壁纸切换方案。

主要功能亮点:

  1. 文件夹管理:轻松添加/删除/切换壁纸源文件夹。
  2. 一键切换:按钮或热键立即切换壁纸/文件夹。
  3. 全局热键:后台运行,支持自定义热键(仅运行时有效)。
  4. 系统托盘常驻:关闭即最小化到托盘,支持热键必需。
  5. 开机自启
  6. 两种切换模式
    • Native:用系统幻灯片,流畅但间隔受限。
    • Custom:直接 API 调用,切换更快更即时。
  7. 简洁设置界面

技术选型与开发亮点:

  • WinForms:快速验证想法,学习曲线低,小工具高效可靠。(新手友好)
  • 架构Core (核心逻辑库) + Desktop (WinForms UI) 分离。核心逻辑封装良好,为未来可能的 UI 迁移( WPF/WinUI/Avalonia )留有余地。
  • 与 Win32 API 交互
    • 使用 CsWin32 (强烈推荐!):基于源生成器,自动生成精确 P/Invoke 签名,大幅简化代码(壁纸设置、热键注册、启动项管理),提升安全性和正确性。
    • DllImport 迁移到更现代的 LibraryImport (源生成)。
  • UI 美化小插曲:设计器代码经 AI 美化后,VS 设计器预览失效,手动维护代码。接受此代价换取更好视觉效果。

获取与使用:

  • 绿色免安装!下载 Releases 中的 WallpaperSwitcher.exe (单文件,首次运行慢) 或 WallpaperSwitcher.zip (解压运行 bin\WallpaperSwitcher.exe,推荐)。
  • 详见 GitHub README 。

期待你的反馈! 作为第一个完整的 C# 实用项目,深知代码和设计必有不足。非常欢迎:

  • Bug 报告
  • 功能/UI/UX/代码/性能改进建议
  • 技术实现细节讨论 (WinForms, CsWin32, API 调用等)
  • 单纯的使用交流

请在 GitHub Issues/PR本帖回复 中提出!你的反馈是宝贵的学习机会。

希望这个小工具也能为你带来便利!

(文章用 Deepseek 进行了优化,本人文采不好,内容是自己写的只不过让 AI 润色了一下,见谅)