V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lorenzoyang2002
V2EX  ›  .NET

[分享创造] 开源轻量级 WinForm 壁纸切换器 Wallpaper Switcher (C# / .NET 9)

  •  1
     
  •   lorenzoyang2002 · 25 天前 · 1388 次点击

    大家好!

    作为一个 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 润色了一下,见谅)

    4 条回复    2025-08-09 09:24:17 +08:00
    Need4more
        1
    Need4more  
       25 天前
    感谢
    mydebug
        2
    mydebug  
       25 天前
    C#好评,英文直接劝退..
    lorenzoyang2002
        3
    lorenzoyang2002  
    OP
       25 天前
    @mydebug 之后我会慢慢完善的,会添加中文 README ,我英语其实也不好的,有 AI 加持应该不成问题
    beginor
        4
    beginor  
       24 天前 via Android
    支持一下 c#
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5032 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:37 · PVG 17:37 · LAX 02:37 · JFK 05:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.