Skip to content

Releases: TakaHoshino/BetterRandomNamePicker

BetterRNP v2.3.3

Choose a tag to compare

@TakaHoshino TakaHoshino released this 25 Oct 05:45

BetterRNP v2.3.3 密码保护与计时插件更新

本版本新增删除密码功能,并为计时插件加入实时共享透明度设置。

更新内容

  • 删除密码:安全设置新增“删除密码”按钮,仅在已设置密码时显示。
  • 要求鉴权:配置处于锁定状态时,必须先输入当前密码完成鉴权。
  • 风险确认:删除密码前会提示名单、方案和设置可能被未经授权修改。
  • 关闭备用通道:删除密码时同步关闭备用解锁通道,避免遗留无效安全配置。
  • 恢复安全警告:停用密码保护后,主界面重新显示红色安全警告。
  • 状态同步:删除后安全页立即恢复“未设置密码”状态,并隐藏锁定和删除密码按钮。
  • 计时插件 1.1.0:在应用“设置 → 插件 → 计时插件设置”中提供透明度滑块。
  • 正计时与倒计时共享:同一个连续滑块同时控制两种计时窗口,调整时实时生效。
  • 持久化透明度:设置保存在 BetterRNP 注册表的插件设置区域,下次启动继续使用。
  • 精简计时窗口:透明滑块只出现在主程序设置页,不再占用计时窗口空间。

兼容性

  • 注册表设置结构不变。
  • 已有密码、备用通道设置和用户数据继续有效,直到用户主动删除密码。
  • 主程序插件 API 和插件 SDK 版本不变。

验证

  • Debug 与 Release 构建均为 0 警告、0 错误。
  • 自动化测试共 191 项,全部通过。

⬇️ 下载

1. 应用自包含版(推荐,免装环境)

  • BetterRNP_win-x64_self-contained_v2.3.3.zip(约 63 MB)
  • 已内置 .NET 8 运行时,无需安装环境,解压后直接运行 BetterRNP.exe

2. 应用框架依赖版(体积小,需装运行时)

  • BetterRNP_win-x64_framework-dependent_v2.3.3.zip(约 0.5 MB)
  • 目标机器必须安装 .NET 8 Desktop Runtime

3. 计时插件 1.1.0(单独下载)

  • com.betterrnp.timer.rnpp
  • 放入主程序 plugins/ 目录后,可从悬浮球菜单打开正计时或倒计时

4. 随机性分析插件(单独下载)

  • com.betterrnp.randomness-analyzer.rnpp

5. 插件 SDK(供插件开发者使用)

  • BetterRNP.PluginSdk.1.4.0.nupkg

6. 开发签名公开证书

  • BetterRNP-Development-Certificate.cer

两个应用 zip 功能完全相同,仅打包方式和运行环境要求不同。不确定时下载自包含版即可。


运行环境

  • Windows 10 / 11 64 位
  • 自包含版:无需任何预装
  • 框架依赖版:需安装 .NET 8 Desktop Runtime

更新检查

  • 支持启动自动检查与手动检查。
  • 支持官方源和 https://gh-proxy.com/ 镜像源。
  • 自动识别当前为 fd 或 sc,并默认选择对应更新包。

BetterRNP v2.3.2

Choose a tag to compare

@TakaHoshino TakaHoshino released this 25 Oct 02:51

BetterRNP v2.3.2 安全提示精简

本版本精简软件内的备用通道提示,避免在主界面、设置窗口和操作日志中展示具体恢复操作。

更新内容

  • 精简安全设置说明:备用通道选项只说明其默认关闭、需要先设置密码并完成鉴权后才能配置。
  • 移除具体操作提示:软件界面不再展示备用通道的按键或操作步骤。
  • 精简操作日志:成功使用备用通道时只记录通用安全事件,不再记录具体按键操作。
  • README 仍可查阅:安全设置保留 README 入口,详细安全说明继续由项目 README 维护。

兼容性

  • 可选密码、鉴权、备用通道开关和注册表设置格式不变。
  • 已有密码和备用通道设置继续有效。
  • 主程序插件 API 与插件 SDK 版本不变。

验证

  • Debug 与 Release 构建均为 0 警告、0 错误。
  • 自动化测试共 184 项,全部通过。

⬇️ 下载

1. 应用自包含版(推荐,免装环境)

  • BetterRNP_win-x64_self-contained_v2.3.2.zip(约 63 MB)
  • 已内置 .NET 8 运行时,无需安装环境,解压后直接运行 BetterRNP.exe

2. 应用框架依赖版(体积小,需装运行时)

  • BetterRNP_win-x64_framework-dependent_v2.3.2.zip(约 0.5 MB)
  • 目标机器必须安装 .NET 8 Desktop Runtime

3. 随机性分析插件(单独下载)

  • com.betterrnp.randomness-analyzer.rnpp

4. 插件 SDK(供插件开发者使用)

  • BetterRNP.PluginSdk.1.4.0.nupkg

5. 开发签名公开证书

  • BetterRNP-Development-Certificate.cer

两个应用 zip 功能完全相同,仅打包方式和运行环境要求不同。不确定时下载自包含版即可。


运行环境

  • Windows 10 / 11 64 位
  • 自包含版:无需任何预装
  • 框架依赖版:需安装 .NET 8 Desktop Runtime

更新检查

  • 支持启动自动检查与手动检查。
  • 支持官方源和 https://gh-proxy.com/ 镜像源。
  • 自动识别当前为 fd 或 sc,并默认选择对应更新包。

BetterRNP v2.3.1

Choose a tag to compare

@TakaHoshino TakaHoshino released this 25 Oct 02:47

BetterRNP v2.3.1 可选密码与安全提示更新

本版本移除内置默认密码,改为可选密码保护,并将 Ctrl+L 备用通道改为默认关闭、鉴权后可控。

更新内容

  • 默认不设置密码:新安装首次启动时配置保持解锁状态,不再创建内置默认密码。
  • 用户可选设置密码:在“设置 → 安全”中可自行设置密码;设置后,修改受保护配置前需要完成鉴权。
  • 旧版默认密码清理:升级时会识别并移除旧版内置默认密码散列,不再要求用户输入已废弃的默认密码。
  • 主界面安全提示:未设置密码时,主界面显示红色小字,提醒名单和方案可能被未经授权修改。
  • 备用通道默认关闭:Ctrl+L 备用解锁通道默认禁用。
  • 鉴权后配置备用通道:只有设置密码并完成解锁后,才能在安全设置中启用或关闭备用通道。
  • 备用通道行为:启用并锁定配置后,在密码窗口连续按 Ctrl+L 10 次可恢复访问;每次按键间隔不能超过 2 秒,并会写入警告日志。
  • 安全设置状态说明:安全页显示当前是否已设置密码,并根据状态显示“设置密码”或“修改密码”。
  • README 指引:安全页提供“查看 README”按钮,优先打开 GitHub 在线说明,远程打开失败后回退本地文件。

安全说明

  • 不设置密码时,任何能操作当前电脑的人都可以修改名单、方案和设置。
  • 建议在共用电脑或正式活动现场设置密码。
  • 备用通道会降低密码保护强度,请根据实际恢复需求决定是否启用。

兼容性

  • 设置仍保存在 HKEY_CURRENT_USER\Software\BetterRNP\Settings。
  • 已有自定义密码继续有效;旧版默认密码会在升级时自动移除。
  • 名单、方案、主题图片、插件和日志的数据格式不变。
  • 主程序插件 API 仍为 1.0,插件 SDK 仍为 1.4.0。

验证

  • Debug 与 Release 构建均为 0 警告、0 错误。
  • 自动化测试共 184 项,全部通过。

⬇️ 下载

1. 应用自包含版(推荐,免装环境)

  • BetterRNP_win-x64_self-contained_v2.3.1.zip(约 63 MB)
  • 已内置 .NET 8 运行时,无需安装环境,解压后直接运行 BetterRNP.exe

2. 应用框架依赖版(体积小,需装运行时)

  • BetterRNP_win-x64_framework-dependent_v2.3.1.zip(约 0.5 MB)
  • 目标机器必须安装 .NET 8 Desktop Runtime

3. 随机性分析插件(单独下载)

  • com.betterrnp.randomness-analyzer.rnpp
  • 放入主程序 plugins/ 目录后,通过“插件 → 分析抽取随机性…”打开

4. 插件 SDK(供插件开发者使用)

  • BetterRNP.PluginSdk.1.4.0.nupkg

5. 开发签名公开证书

  • BetterRNP-Development-Certificate.cer
  • 仅包含公开证书,可安全分发

两个应用 zip 功能完全相同,仅打包方式和运行环境要求不同。不确定时下载自包含版即可。


运行环境

  • Windows 10 / 11 64 位
  • 自包含版:无需任何预装
  • 框架依赖版:需安装 .NET 8 Desktop Runtime

更新检查

  • 支持启动自动检查与手动检查。
  • 支持官方源和 https://gh-proxy.com/ 镜像源。
  • 自动识别当前为 fd 或 sc,并默认选择对应更新包。

BetterRNP v2.3.0

Choose a tag to compare

@TakaHoshino TakaHoshino released this 25 Oct 02:24

BetterRNP v2.3.0 多语言、统一设置与插件体验更新

本版本重做界面本地化与设置存储,新增插件设置页、悬浮球状态和插件多语言接口,并完善启动清理与插件窗口稳定性。

更新内容

  • 完整界面本地化:所有用户可见文本集中到 WPF XAML 资源,C# 代码只引用资源键。简体中文、繁體中文、粵語、English、Русский 和日本語六种语言均完整覆盖 389 个界面文本项。
  • 运行时即时切换:切换语言后,已打开的主窗口、设置窗口、插件管理、日志查看器、主题窗口、托盘菜单和插件菜单会立即刷新,不再混用多种语言。
  • 方案与模式名称修复:内置方案和三种抽取模式使用当前语言的显示名称,不再向用户展示 name_list 等内部 ID。
  • 统一注册表设置:语言、托盘、悬浮球、安全、更新、插件启停和主题设置统一保存到 HKEY_CURRENT_USER\Software\BetterRNP\Settings。
  • 旧设置自动迁移:首次启动会自动读取 config.properties、theme.properties、update.json 和 plugins.json;确认写入注册表成功后才删除旧文件和备份。
  • 插件缓存清理:启动时在加载插件前清理 data/plugin-cache,避免旧解压文件长期堆积;清理失败不会阻断程序启动。
  • 插件设置页:插件 SDK 新增 IPluginSettingsContext,插件可以把 WPF 设置页嵌入主程序的“插件”设置分类。
  • 悬浮球状态接口:新增 IFloatingBallStateContext,插件可读取悬浮球位置、尺寸、颜色和可见状态,并订阅实时变化。
  • 插件多语言接口:新增 IPluginLocalizationContext,支持插件独立翻译表、语言切换通知以及动态本地化菜单/设置标题。
  • 插件窗口稳定性:设置窗口 Owner 前增加安全检查,修复 Cannot set Owner property to itself 和无效 Owner 异常。
  • 关于窗口:新增独立“关于 BetterRNP”窗口,展示版本、运行时、系统、安装类型和仓库信息。
  • 设置页重构:设置窗口改为分类导航,支持常规、语言、界面、更新、安全、日志和插件页面。

设置迁移说明

  • 名单、数字范围、座位配置、主题图片、插件包和日志仍保存在程序目录,不会写入注册表。
  • 旧设置文件迁移成功后自动删除;若注册表写入失败,旧文件会保留并在下次启动重试。
  • 注册表设置结构由 SchemaVersion 管理,当前版本为 1。
  • 卸载程序不会自动删除注册表设置;需要彻底清理时可手动删除 HKEY_CURRENT_USER\Software\BetterRNP。

插件兼容性

  • 主程序插件 API 版本仍为 1.0。
  • 插件 SDK 升级为 BetterRNP.PluginSdk 1.4.0,新增能力均通过独立可选接口提供。
  • 已有 .rnpp 插件无需重新编译即可继续使用;使用新接口的插件需引用 SDK 1.4.0。
  • 内置随机性分析、计时和示例插件同步支持宿主语言切换。

验证

  • Debug 与 Release 构建均为 0 警告、0 错误。
  • 自动化测试共 176 项,全部通过。
  • 覆盖设置迁移、注册表存储适配、六语言资源、插件加载、悬浮球菜单、主题、日志和更新流程。

⬇️ 下载

1. 应用自包含版(推荐,免装环境)

  • BetterRNP_win-x64_self-contained_v2.3.0.zip(约 63 MB)
  • 已内置 .NET 8 运行时,无需安装环境,解压后直接运行 BetterRNP.exe

2. 应用框架依赖版(体积小,需装运行时)

  • BetterRNP_win-x64_framework-dependent_v2.3.0.zip(约 0.5 MB)
  • 目标机器必须安装 .NET 8 Desktop Runtime

3. 随机性分析插件(单独下载)

  • com.betterrnp.randomness-analyzer.rnpp
  • 放入主程序 plugins/ 目录后,通过“插件 → 分析抽取随机性…”打开

4. 插件 SDK(供插件开发者使用)

  • BetterRNP.PluginSdk.1.4.0.nupkg
  • 包含插件设置页、悬浮球状态和插件多语言接口

5. 开发签名公开证书

  • BetterRNP-Development-Certificate.cer
  • 仅包含公开证书,可安全分发

两个应用 zip 功能完全相同,仅打包方式和运行环境要求不同。不确定时下载自包含版即可。


运行环境

  • Windows 10 / 11 64 位
  • 自包含版:无需任何预装
  • 框架依赖版:需安装 .NET 8 Desktop Runtime

更新检查

  • 支持启动自动检查与手动检查。
  • 支持官方源和 https://gh-proxy.com/ 镜像源。
  • 自动识别当前为 fd 或 sc,并默认选择对应更新包。

BetterRNP v2.2.0

Choose a tag to compare

@TakaHoshino TakaHoshino released this 24 Oct 14:15

BetterRNP v2.2.0 随机性分析插件与演示模式优化

本版本新增随机性分析插件和插件 SDK 1.1.0,并改进悬浮球在浏览器全屏视频、PPT 放映中的焦点行为。

更新内容

  • 随机性分析插件:新增 BetterRNP 随机性分析插件,可对当前方案和当前抽取模式连续抽样,检查各类结果是否均匀、前后结果是否独立。
  • 真实候选生成器:分析插件优先调用宿主当前模式的真实候选生成函数,而不是另写一套随机算法;内置模式和插件自定义模式均可覆盖。
  • 统计检验:使用 Pearson 卡方频率检验和前后依赖检验,显著性水平为 α = 0.01,并显示统计量、自由度、p 值、观察次数、期望次数和偏差。
  • 样本量选择:支持 10,000、50,000、100,000 和 500,000 次抽样;期望次数不足 5 时明确提示结论不可靠。
  • 大范围数字处理:候选数字超过 500 个时自动归并为 20 个等宽区间,避免稀疏样本导致卡方近似失真。
  • 插件 SDK 1.1.0:新增 ISchemeCommandPluginContext、ICurrentPickerPluginContext 和 IPluginPickerSnapshot;原有 IPluginContext、IPluginModeContext 等接口保持不变。
  • 插件随包提供:随机性分析插件同时包含在 fd/sc 应用包内,并作为单独的 .rnpp Release 附件提供。
  • 悬浮球焦点修复:悬浮球使用 WS_EX_TOOLWINDOW 和 WS_EX_NOACTIVATE,不再出现在 Alt+Tab 中,也不会从浏览器全屏视频抢走前台焦点或导致任务栏弹出。
  • PPT 翻页恢复:主窗口完成抽取并定格结果后,自动恢复 PowerPoint 或 WPS 全屏放映窗口焦点;随后可直接使用 Page Up/Down 翻页笔翻页。

随机性分析解释

  • “未发现统计显著偏差”表示当前样本没有足够证据证明存在偏差,不等于数学上证明了绝对随机。
  • 发现显著偏差时建议增加样本量后复测,并检查候选列表、数字范围或自定义抽取模式逻辑。
  • 卡方检验仍可能发生第一类错误和第二类错误,因此结果应结合实际配置判断。

插件 API 兼容性

  • 主程序插件 API 版本仍为 1.0。
  • 插件 SDK 包升级为 BetterRNP.PluginSdk 1.1.0,新增接口均为独立可选接口,不修改现有接口。
  • 已有 .rnpp 插件无需重新编译即可继续使用。
  • 随机性分析插件位于应用包 plugins/ 目录,也可从 Release 单独下载后放入插件目录。

⬇️ 下载

1. 应用自包含版(推荐,免装环境)

  • BetterRNP_win-x64_self-contained_v2.2.0.zip(约 63 MB)
  • 已内置 .NET 8 运行时和随机性分析插件,解压后直接运行 BetterRNP.exe

2. 应用框架依赖版(体积小,需装运行时)

3. 随机性分析插件(单独下载)

  • com.betterrnp.randomness-analyzer.rnpp
  • 放入主程序 plugins/ 目录后,通过“插件 → 分析抽取随机性…”打开

4. 插件 SDK(供插件开发者使用)

  • BetterRNP.PluginSdk.1.1.0.nupkg
  • 包含新增的方案命令、当前抽取模式和候选生成器接口

5. 开发签名公开证书

  • BetterRNP-Development-Certificate.cer
  • 仅包含公开证书,可安全分发

运行环境

  • Windows 10 / 11 64 位
  • 自包含版:无需任何预装
  • 框架依赖版:需安装 .NET 8 桌面运行时

更新检查

  • 支持启动自动检查与手动检查。
  • 支持官方源和 https://gh-proxy.com/ 镜像源。
  • 自动识别当前为 fd 或 sc,并默认选择对应更新包。

BetterRNP v2.1.1

Choose a tag to compare

@TakaHoshino TakaHoshino released this 18 Oct 09:10

BetterRNP v2.1.1 图标、日志与插件体验更新

本版本补充应用图标与构建签名,完善托盘和插件相关稳定性,并加入结构化操作日志、日志查看器和计时插件示例。

更新内容

  • 全新应用图标:新增与宣传 Banner 风格统一的 SVG 图标、多尺寸 PNG 和 Windows .ico,并接入可执行文件、WPF 窗口和托盘资源。
  • 通知区域兼容改进:托盘宿主改用 Windows Forms NotifyIcon,右键菜单继续使用 Win32 CreatePopupMenu / TrackPopupMenu;监听 TaskbarCreated,Explorer 重启后自动重建图标。
  • 插件管理稳定性:插件列表由 GridView 改为 DataGrid,避免系统临时目录权限异常导致插件管理窗口无法打开;插件缓存和更新缓存迁移到程序自身的 data 目录。
  • 悬浮球插件菜单:插件 SDK 新增 RegisterFloatingBallCommand,插件命令会随启停状态实时出现在悬浮球右键菜单中。
  • 计时插件示例:新增 BetterRNP.TimerPlugin,包含正计时、倒计时、暂停、重置和倒计时完成提示,并支持从悬浮球菜单打开独立置顶窗口。
  • 结构化操作日志:日志包含毫秒级时间、级别、操作名和详细参数,支持 1 MB 自动滚动、保留 5 份历史文件,并记录未处理异常。
  • 日志查看器:新增“帮助 → 查看日志…”窗口,支持级别筛选、关键字搜索、自动刷新、打开目录、导出和清空。
  • 开发签名:提供默认 BetterRNP Development 自签名证书生成、信任安装和 Release 自动签名流程;发布包内附带公开 .cer 证书,不含私钥。
  • 构建修复:签名脚本显式加载 Microsoft.PowerShell.Security,兼容 Windows PowerShell 5.1 与 PowerShell 7;移除会误签 DLL 并阻塞普通构建的冗余目标。

自签名说明

  • 自签名证书只适合本地开发和当前用户信任环境,不等同于 CA 公开发布证书。
  • 两个应用 zip 均已附带 BetterRNP-Development-Certificate.cer,Release 附件也单独提供该证书。
  • 如希望本机显示发布者名称,可先执行:
powershell -ExecutionPolicy Bypass -File tools\install-release-cert.ps1 `
    -CertificatePath .\BetterRNP-Development-Certificate.cer
  • 不要分发 .pfx 私钥;正式公开分发仍建议使用受信任的 CA 代码签名证书。

兼容性说明

  • 主程序数据格式、方案、名单、数字、座位和主题配置保持兼容。
  • 现有 .rnpp 插件可继续加载;插件 SDK 版本仍为 BetterRNP.PluginSdk 1.0.0。
  • 插件 API 新增悬浮球菜单命令接口,旧插件无需修改即可继续使用。

⬇️ 下载

1. 应用自包含版(推荐,免装环境)

  • BetterRNP_win-x64_self-contained_v2.1.1.zip(约 63 MB)
  • 已内置 .NET 8 运行时,解压后直接运行 BetterRNP.exe

2. 应用框架依赖版(体积小,需装运行时)

3. 插件 SDK(可选,供插件开发者使用)

  • BetterRNP.PluginSdk.1.0.0.nupkg(约 11 KB)
  • 可通过本地 NuGet 源引用,详见仓库 README.md 与 SDK 包内 README.md

4. 开发签名公开证书

  • BetterRNP-Development-Certificate.cer
  • 仅包含公开证书,可安全分发

两个应用 zip 功能完全相同,仅打包方式和运行环境要求不同。不确定时下载自包含版即可。


运行环境

  • Windows 10 / 11 64 位
  • 自包含版:无需任何预装
  • 框架依赖版:需安装 .NET 8 桌面运行时

更新检查

  • 支持启动自动检查与手动检查。
  • 支持官方源和 https://gh-proxy.com/ 镜像源。
  • 自动识别当前为 fd 或 sc,并默认选择对应更新包。

BetterRNP v2.1.0

Choose a tag to compare

@TakaHoshino TakaHoshino released this 17 Oct 13:53

BetterRNP v2.1.0 插件 SDK 发布

本版本正式提供 BetterRNP.PluginSdk,并让插件构建产物自动打包为 .rnpp。

更新内容

  • 插件 SDK:新增可分发的 BetterRNP.PluginSdk NuGet 包,包含插件接口、清单模型、API 版本和 .rnpp 包读取工具。
  • SDK 文档:提供插件开发快速说明,明确 IPlugin、菜单命令、自定义抽取模式和 plugin.json 格式。
  • 自动打包:插件项目引用 SDK 后,只要项目根目录存在 plugin.json,每次 dotnet build 都会自动生成 <插件 id>.rnpp。
  • 依赖收集:自动收集插件入口程序集、依赖 DLL、资源文件和 .deps.json。
  • 安全排除:自动排除宿主 BetterRNP.exe、BetterRNP.dll 与 BetterRNP.PluginSdk.dll,这些程序集由宿主在运行时提供。
  • 两种引用方式:支持 NuGet PackageReference 和仓库内 ProjectReference;NuGet 包会自动导入打包目标。
  • 构建脚本:tools/build-release.ps1 现在同时生成 fd、sc 应用包和插件 SDK NuGet 包。
  • 示例验证:示例插件构建后自动生成 com.betterrnp.demo.rnpp,并已验证可被插件管理器加载、启用、禁用和移除。

插件开发快速开始

<PackageReference Include="BetterRNP.PluginSdk" Version="1.0.0" />

在项目根目录放置 plugin.json,实现 IPlugin,然后执行:

dotnet build -c Release

打包产物位于插件输出目录:

bin\Release\net8.0-windows\<插件 id>.rnpp

兼容性说明

  • 主程序数据格式、插件加载方式和主题配置保持兼容。
  • 已有 .rnpp 插件无需重新打包即可继续使用。
  • 新版 SDK 包位于 Release 附件中,可下载后作为本地 NuGet 源使用。

⬇️ 下载

1. 应用自包含版(推荐,免装环境)

  • BetterRNP_win-x64_self-contained_v2.1.0.zip(约 63 MB)
  • 已内置 .NET 8 运行时,解压后直接运行 BetterRNP.exe

2. 应用框架依赖版(体积小,需装运行时)

3. 插件 SDK(可选,供插件开发者使用)

  • BetterRNP.PluginSdk.1.0.0.nupkg(约 11 KB)
  • 可通过本地 NuGet 源引用,详见仓库 README.md 与 SDK 包内 README.md

运行环境

  • Windows 10 / 11 64 位
  • 自包含版:无需任何预装
  • 框架依赖版:需安装 .NET 8 桌面运行时

更新检查

  • 支持启动自动检查与手动检查。
  • 支持官方源和 https://gh-proxy.com/ 镜像源。
  • 自动识别当前为 fd 或 sc,并默认选择对应更新包。

BetterRNP v2.0.1

Choose a tag to compare

@TakaHoshino TakaHoshino released this 17 Oct 13:45

BetterRNP v2.0.1 界面与主题更新

本版本优化背景主题的可视化与编辑体验,并让系统设置页的卡片区域透出背景图片。

更新内容

  • 透明内容区域:设置页及使用通用卡片样式的界面改为透明背景,仅保留系统边框;主窗口大结果区、数字设置和座位设置结果区也同步透明,背景主题图片可以直接透出。
  • 图片库缩略图:图片库由纯文件名列表改为缩略图列表,每项显示预览图、图片名称和边框;损坏或无法解码的图片显示“无预览”。
  • 自由裁切:全局背景和按窗口类别区域均新增“裁切…”按钮。
  • 拖拽选区:裁切窗口支持在图片上按住鼠标左键拖拽选择区域,可恢复整图、确定或取消。
  • 分类裁切:全局图片与各窗口类别可分别保存裁切范围,分类未单独设置时继承全局裁切。
  • 自动切换适配模式:应用裁切后自动切换到“自由裁切”模式,并使用裁切后的图像填充窗口。
  • 更新检查兼容:继续支持启动检查、手动检查、官方源/gh-proxy 镜像源,以及 fd/sc 安装类型自动检测与更新包选择。

兼容性说明

  • 主题配置新增 g.crop 与 cat.<类别>.crop 键;旧版主题配置无需迁移,缺失时默认使用整图。
  • 数据、日志、插件和更新设置的位置不变。

⬇️ 下载(两种打包方式,请按需选择其中一个)

1. 自包含版(推荐,免装环境)

  • 下载:BetterRNP_win-x64_self-contained_v2.0.1.zip(约 63 MB)
  • 已内置 .NET 8 运行时,无需安装任何环境,解压后运行 BetterRNP.exe

2. 框架依赖版(体积小,需装运行时)

两个 zip 功能完全相同,仅打包方式和运行环境要求不同。不确定时下载自包含版即可。


运行环境

  • Windows 10 / 11 64 位
  • 自包含版:无需任何预装
  • 框架依赖版:需安装 .NET 8 桌面运行时

更新检查

  • 启动时自动检查 GitHub Releases,也可从“帮助 → 检查更新”或设置页手动检查。
  • 下载源支持官方源与 https://gh-proxy.com/ 镜像源。
  • 自动检测当前为自包含版或框架依赖版,并默认选择对应更新包。

BetterRNP v2.0.0

Choose a tag to compare

@TakaHoshino TakaHoshino released this 17 Oct 13:36

BetterRNP v2.0.0

BetterRNP 的 .NET 8 / C# / WPF 重写版。本版本完成核心功能迁移,并新增 .rnpp 插件体系、GitHub Release 更新检查、原生 Win32 托盘菜单和背景主题。

更新内容

  • 界面与运行时重写:由 Java Swing 迁移到 .NET 8、C# 与 WPF,窗口标题统一为 BetterRNP。
  • 原生 Windows 外观:使用系统字体、系统颜色和 WPF 默认原生控件样式;托盘图标及右键菜单使用 Win32 Shell_NotifyIcon、CreatePopupMenu 与 TrackPopupMenu。
  • 抽取功能:保留名字列表、随机数字、随机座位三种滚停式抽取模式,以及方案、名单、数字范围、座位布局和显式保存流程。
  • 数据兼容:继续使用 AES-GCM、SHA-256 与三副本自愈格式;已有 Java 版的名单、数字范围和座位配置可直接读取。
  • 安全与配置:保留锁定、改密、默认密码兼容与 PBKDF2 自动升级,以及托盘、悬浮球、开机自启、日志导出和静态图片背景主题。
  • .rnpp 插件管理:新增类似 FuckETS 的表格式插件管理器,支持加载、移除、启用/禁用 .rnpp 插件;插件可注册主菜单命令和自定义抽取模式。
  • 检查更新:启动时可自动检查 GitHub Releases,也可从“帮助 → 检查更新”或设置窗口手动检查。
  • 双下载源:更新设置支持官方源 github.com 与 gh-proxy 国内加速镜像源,选择会持久化到 data/update.json。
  • 安装类型检测:自动识别当前运行的是自包含版还是框架依赖版,并默认选择对应的更新包。
  • 一键更新:可手动选择自包含版或框架依赖版,显示下载进度,下载完成后自动覆盖程序目录并重启。

兼容性说明

  • 原 Java 插件 jar 不能在 .NET 运行时中直接加载,已替换为 .rnpp 插件包。
  • 插件 SDK 位于 src/BetterRNP.PluginSdk,示例插件位于 examples/BetterRNP.DemoPlugin。
  • 程序数据、日志和插件仍保存在程序目录下,升级安装包不会覆盖已有 data/ 与 plugins/ 内容。

⬇️ 下载(两种打包方式,请按需选择其中一个)

1. 自包含版(推荐,免装环境)

  • 下载:BetterRNP_win-x64_self-contained_v2.0.0.zip(约 63 MB)
  • 已内置 .NET 8 运行时,无需安装任何环境,解压后运行 BetterRNP.exe 即可

2. 框架依赖版(体积小,需装运行时)

两个 zip 功能完全相同,仅打包方式和运行环境要求不同。不确定时下载自包含版即可。


运行环境

  • Windows 10 / 11 64 位
  • 自包含版:无需任何预装
  • 框架依赖版:需安装 .NET 8 桌面运行时(见上方下载地址)

更新检查说明

  • 检查地址:https://api.github.com/repos/TakaHoshino/BetterRandomNamePicker/releases/latest
  • 版本比较:读取 Release 的 tag_name,与当前程序集版本比较
  • 下载源:设置窗口可在官方源与 https://gh-proxy.com/ 镜像源之间切换
  • 更新包:设置窗口和更新提示均可选择自包含版或框架依赖版