桌面应用【免费下载链接】StarwardGame Launcher for miHoYo - 米家游戏启动器项目地址https://gitcode.com/gh_mirrors/st/Starward点击查看免费下载Starward 是一个以解决官方启动器 HoYoPlay 痛点为目标的开源第三方游戏启动器覆盖 HoYoverse米哈游旗下全部 PC 端游戏并集成了游戏时长记录、账号切换、截图管理、抽卡记录保存等扩展能力。本文以项目 README.md 为主体骨架结合仓库源码结构完整介绍其安装要求与步骤、核心功能模块的源码实现、本地化协作方式以及本地编译环境帮助读者快速部署 Starward 并从源码层面理解其功能边界。Starward 是什么Starward这个名字取自《崩坏星穹铁道》的宣传语May This Journey Lead UsStarward非常适合用作应用名。Starward 是一个开源的第三方启动器设计目标是弥补 HoYoPlay米哈游官方启动器的不足。它支持 HoYoverse 旗下在 PC 端发行的全部游戏致力于完全替代官方启动器。在启动器的基础功能之外项目还按个人需求整合了多项附加功能README 中明确列出的包括记录游戏时长Record game time切换游戏账号Switch game accounts查看游戏截图View game screenshots保存抽卡记录Save gacha records从仓库源码结构看这些功能分别对应src/Starward/Features/下的 PlayTime、GameAccount、Screenshot 与 Gacha 四个功能目录此外还有 GameLauncher、GameRecord、CloudGame 等更多模块README 也提示“更多功能留待你自行探索”。安装要求与步骤系统与运行时要求在安装前设备需要满足以下条件要求说明Windows 版本Windows 10 1809版本号 17763及以上WebView2 Runtime需要预先安装用于应用内嵌网页如登录、公告等场景WebP 图片扩展需要安装用于显示 WebP 格式的背景图片与素材系统视觉效果建议开启系统设置中的透明效果Transparency effects与动画效果Animation effects以获得更好的使用体验关于 WebP 扩展有一个特别提示WebP 图片扩展通常随系统附带一般是预装组件如果应用无法正常显示背景图片请确认该扩展是否已安装。这些要求的设定与项目的技术选型直接相关从 Starward.csproj 可以看到主程序面向net10.0-windows10.0.26100.0最低平台版本为10.0.17763.0对应 Windows 10 1809并启用了 WinUIUseWinUItrue/UseWinUI与 Windows App SDKWindowsAppSDKSelfContainedtrue/WindowsAppSDKSelfContained这解释了为什么对系统版本有明确的下限要求。安装步骤前往项目的 GitHub Release 页面根据你的 CPU 架构下载对应安装包仓库发布配置覆盖 x86、x64、ARM64 三种架构见 win-x86.pubxml、win-x64.pubxml 与 win-arm64.pubxml。解压安装包。运行Starward.exe并跟随首次启动的引导提示完成初始化配置。首次启动时程序会在 App.xaml.cs 的OnLaunched中调用AppConfig.CheckEnviromentAsync()对环境进行检查启动入口则在 Program.cs其Main方法通过Microsoft.UI.Xaml.Application.Start启动 WinUI 应用并注册了AppDomain.CurrentDomain.UnhandledException全局异常处理异常日志默认写入%LOCALAPPDATA%\Starward\log目录。单实例与命令行启动细节从 App.xaml.cs 的OnLaunched实现可以观察到几个实用的启动细节程序通过AppInstance.FindOrRegisterForKey(main)实现单实例运行重复启动时会重定向到已有实例并退出当前进程启动参数带--hide时只启动系统托盘窗口SystemTrayWindow不显示主窗口支持starward://test/协议前缀用于打开 URL 协议测试窗口支持rpc、playtime、startgame等命令式启动参数见HandleStartupAsync其中playtime配合pid与biz参数用于记录游戏进程时长startgame配合biz参数可直接拉起对应游戏这些参数的实际业务实现在 PlayTimeService 与 GameLauncherService 中。核心功能与源码实现游戏时长记录PlayTimeREADME 提到的“记录游戏时间”由 PlayTimeService 实现。从源码看LogPlayTimeAsync(GameBiz biz, int pid)会以游戏进程 PID 注册一个playtime_{pid}的应用实例避免重复记录随后以约 8001200 毫秒的随机间隔轮询进程状态进程退出时写入PlayTimeState.Stop记录并结束计时循环。计时的启停通过startgame/playtime命令参数串联startgame启动游戏后会派生playtime子进程完成记录。UI 侧由 PlayTimeButton.xaml 展示累计时长。游戏账号切换GameAccount“切换游戏账号”由 GameAccountService 实现。其核心机制是从 Windows 注册表读取各游戏的登录凭证通过biz.GetGameRegistryKey()定位游戏在注册表中的键根据服务器区域cn/global读取对应注册表值键名定义见 GameRegistry.cs如MIHOYOSDK_ADL_PROD_CN_h3123967166与MIHOYOSDK_ADL_PROD_OVERSEA_h1158948810对读取到的字节数据做 SHA256 哈希并生成账号实体GameAccount同时针对不同游戏bh3、hk4e、hkrpg分别从不同注册表值中解析 UID。已保存的账号列表则通过 DatabaseService 存入本地 SQLite 数据库查询语句可见GetGameAccountsFromDatabase中的SELECT * FROM GameAccount WHERE GameBiz biz。切换账号时GameAccountSwitcher.xaml 会负责将选中的凭证写回注册表实现免密登录切换。截图管理Screenshot截图功能由 Screenshot 目录下的多个组件协作完成ScreenCaptureService.cs 与 ScreenCaptureHelper.cs负责游戏进程的自动截图捕获与存储ScreenshotPage.xaml按游戏/日期分组浏览截图的主界面ImageViewWindow.xaml全屏看图窗口ImageBatchConvertWindow.xaml支持批量格式转换图片编解码相关能力可参考 Codec 目录下的ImageLoader、ImageSaver等实现ScreenshotFolderManageDialog.xaml管理截图保存文件夹。抽卡记录Gacha抽卡记录是功能最丰富的模块之一对应 Gacha 目录按游戏拆分为三个服务GenshinGachaService原神、StarRailGachaService星穹铁道、ZZZGachaService绝区零。从基类 GachaLogService.cs 的源码可以看到关键实现逻辑各游戏的卡池记录统一存入本地 SQLite 表如GachaLogService.GetUids()中的SELECT DISTINCT Uid FROM {GachaTableName}读取记录后服务会为每条记录计算序号Index与保底计数Pity这是抽卡统计页展示五星保底进度GachaStatsCard.xaml、ZZZGachaStatsCard.xaml的数据基础卡池数据通过 GachaLogClient.cs 及按游戏划分的GenshinGachaClient、StarRailGachaClient、ZZZGachaClient均在 Starward.Core/Gacha 下从官方接口获取支持 UIGF 格式的导入/导出与云端存档备份UIGFGachaService.cs、UIGF3File.cs、UIGF4File.cs支持将记录导出为 Excel 文件依赖 MiniExcel见 GachaLogExportFile.cs。支持的游戏范围Starward 覆盖 HoYoverse 旗下全部 PC 端游戏。仓库中 GameBiz.cs 定义了统一的游戏业务标识如hk4e对应原神、hkrpg对应崩坏星穹铁道、nap对应绝区零、bh3对应崩坏3 等并结合服务器区域cn/global区分国服与海外服。游戏元数据启动参数、安装信息、公告、版本包等通过 HoYoPlay 与 HoYoPlayService 从官方渠道拉取游戏安装目录的记录与校验逻辑可在 GameLauncherService.cs 中看到支持可移动存储设备上的游戏路径。启动游戏前StartGameButton.xaml 等组件会提供登录态检查与启动选项。本地化LocalizationStarward 的应用内文本通过 Crowdin 平台协作翻译README 中展示了各语言当前的翻译进度徽章涉及语言包括de-DE、en-US、it-IT、ja-JP、ko-KR、ru-RU、th-TH、vi-VN、zh-CN、zh-TW 等。从 Localization.cs 可以看到程序内维护了一份包含 11 种语言的语言列表含标题与语言代码如(简体中文 (zh-CN), zh-CN)、(繁體中文 - 台灣地區 (zh-TW), zh-TW)。实际字符串资源存放在 src/Starward.Language 目录下的Lang.*.resx系列资源文件默认资源为Lang.resx各语言版本如Lang.zh-CN.resx、Lang.ja-JP.resx等核心库 Starward.Core 则有自己的CoreLang.*.resx资源系列。如果你希望参与翻译README 提供了两份指引Localization Guide本地化贡献指南翻译工作通过 Crowdin 的 starward 项目进行可帮助翻译与校对你的母语文本。本地开发与编译要在本地编译 Starward需要安装Visual Studio 2022并勾选以下工作负载.NET Desktop Development.NET 桌面开发C Desktop DevelopmentC 桌面开发Universal Windows Platform Development通用 Windows 平台开发这三项工作负载的用途与仓库构成相对应主程序是 WinUI/.NET 桌面应用.NET Desktop DevelopmentStarward.Launcher 是一个 C 原生启动器项目C Desktop Development而 WinUI 的 XAML 编译与打包则依赖 UWP 平台工具链Universal Windows Platform Development。从 Starward.csproj 还可以观察到更多技术细节项目引用关系主程序引用Starward.Core核心数据模型与 API 客户端、Starward.Language本地化资源、Starward.RPC后台 RPC 服务与Starward.Setup.Core四个子项目关键技术栈CommunityToolkit.MvvmMVVM 与消息机制、CommunityToolkit.WinUI控件与动画、Microsoft.WindowsAppSDK 1.8、Microsoft.Data.Sqlite本地数据库、Dapper数据访问、Serilog日志、MiniExcelExcel 导出、ComputeSharp.D2D1 / Win2D图形处理等发布配置通过PublishProfiles下的win-x86.pubxml、win-x64.pubxml、win-arm64.pubxml分别发布三种架构的版本。结语Starward 以“替代官方启动器”为目标将启动、时长统计、账号切换、截图与抽卡记录整合进一个 WinUI 应用并保持了清晰的多项目分层UI 主程序 / 核心库 / 本地化 / RPC / 原生启动器。本文覆盖的安装、功能、本地化与编译信息均可在 README.md 及各功能目录源码中得到印证后续如需深入了解某一模块如抽卡 UIGF 导入导出、账号注册表操作、游戏安装包下载可直接从对应 Features 目录继续阅读源码。赞分享桌面应用【免费下载链接】StarwardGame Launcher for miHoYo - 米家游戏启动器项目地址https://gitcode.com/gh_mirrors/st/Starward点击查看免费下载相关推荐突破性跨平台资源嗅探方案一站式解决你的数字内容保存难题突破性跨平台资源嗅探方案一站式解决你的数字内容保存难题 你是否曾经在微信视频号看到精彩内容却无法保存是否在抖音上发现有趣视频却被水印困扰或者在小红书浏览美桌面应用网络音视频Starward游戏启动器终极指南解锁米哈游游戏全新体验Starward游戏启动器终极指南解锁米哈游游戏全新体验 Starward作为一款专为米哈游游戏打造的启动器集成了游戏管理、账号切换、性能优化等多项实用功能桌面应用Starward游戏启动器完全指南轻松管理米哈游全家桶游戏Starward游戏启动器完全指南轻松管理米哈游全家桶游戏 还在为频繁切换不同游戏启动器而烦恼吗 Starward游戏启动器 作为一款专门为米哈游游戏优化的桌面应用上一篇如何免费查手机号归属地并在地图上标出城市下一篇Go 类型转换库 cast 完全指南在 substrate 项目中实现安全易用的动态类型转换创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考