• ACTIVE
  • FILE NO.003
  • WINDOWS · X64
  • APACHE-2.0

← 返回作品档案

BETTERRNP W-003 课堂与活动现场 · 随机抽取工具

点名,抽号,排座/一个窗口解决现场随机。

Windows 桌面工具:把随机点名、随机数字与随机座位收进一套方案。 选择名单后滚停式抽取,结果定格即写入日志;主窗口可收进托盘, 悬浮球置顶双击即可抽取,名单与配置在本地加密保存。

STARS
0
FORKS
0
ISSUES
0
LANG
C#
STATUS
ACTIVE 持续维护
VERSION
v2.1.0(正式版)
PLATFORM
Windows 10 / 11 x64
LICENSE
Apache License 2.0
PACKAGE
自包含版 / 框架依赖版
RUNTIME
.NET 8 WPF
SOURCE
TakaHoshino/BetterRandomNamePicker
DATA
./data · ./log AES-GCM
MODES
03 抽取模式 .rnpp 插件
UPDATED
2026.10.17
NOW当前进行中IN PROGRESS LAST COMMIT 2026.10.18 单实例唤醒与 Apache-2.0 许可落地,插件 SDK 持续完善。 CASE B-003维护中
LATESTv2.1.0 CHANNELGitHub Releases PLATFORMwin-x64 PLUGIN.rnpp / PluginSdk LICENSEApache-2.0
01

项目概览OVERVIEW

RECORD 03 / DESKTOP
WHAT IT IS P.01

BetterRNP是一款面向课堂、会议和活动现场的 Windows 随机抽取工具。 它把随机点名、随机数字和随机座位集中在一个轻量桌面程序里: 不用准备表格公式,也不用临时写脚本,选好方案和模式即可开始滚动抽取。

程序支持常驻系统托盘、置顶悬浮球快速抽取、加密本地存储、可配置的照片背景, 以及 .rnpp 插件扩展。v2.0.0 起从 Java Swing 完整重写为 .NET 8 / C# / WPF,界面保持接近 Windows 原生对话框的观感; 旧版 Java 保存的加密名单、数字与座位数据可以继续读取。

SYSTEM REQUIREMENTS SYS
OS
Windows 10 / 11 x64
SELF-CONTAINED
内置 .NET 8 运行时 解压即用,推荐
FRAMEWORK
需预装 .NET 8 桌面运行时 体积小
BUILD
Windows + .NET 8 SDK dotnet build

项目以 Apache License 2.0 发布。所有数据默认保存在程序目录,不登录、不依赖云端; 升级程序不会覆盖已有的 data/ 与 plugins/ 内容。

WORKFLOW 06 STEPS
步骤说明
选择方案从顶部选择预设方案,可分别为不同班级 / 活动建立
切换模式名字列表、数字或座位模式,共用同一套方案与交互
开始抽取点击「开始抽取」,结果按 50ms 间隔滚动
停止定格再次点击「停止」保留最终结果,并写入操作日志
配置数据进入「配置名单」或对应模式窗口,显式保存修改
现场辅助在设置中启用托盘、悬浮球、背景主题与自动检查更新

抽取结果会写入 log/,并在 data/ 与备份目录保留多份副本

02

功能特性FEATURES

07 MODULES
三种抽取模式MODULE 01

名字列表、随机数字、随机座位共用同一套方案与交互,覆盖点名、抽号与排座。

  • 名字列表
  • 数字
  • 座位 30×30
滚停式抽取MODULE 02

结果快速轮换,点击停止后定格,比直接弹出结果更有现场氛围;每次抽取自动记录。

  • 50ms 轮换
  • 大字号投影
  • 操作日志
托盘与悬浮球MODULE 03

主窗口可隐藏到托盘,原生 Win32 右键菜单;悬浮球置顶、可拖动、双击即抽取。

  • 原生托盘
  • 置顶悬浮球
  • 单实例唤醒
方案与名单MODULE 04

为不同班级 / 活动建立独立方案,名单支持手动增删与 TXT 导入导出,启动恢复上次方案。

  • 多方案
  • TXT 导入导出
  • 显式保存
背景主题MODULE 05

导入 PNG / JPG / BMP / GIF / TIFF,支持全局与分类背景、五种填充方式、自由裁切与遮罩。

  • 图片库
  • 自由裁切
  • 可调遮罩
插件扩展MODULE 06

.rnpp 插件可添加菜单命令或注册新的抽取模式;插件 SDK 构建时自动打包。

  • PluginSdk
  • .rnpp
  • 启停 / 移除
数据与安全MODULE 07

名单、数字与座位配置以 AES-GCM 加密并带 SHA-256 校验,三副本自动恢复;配置可锁定。

  • AES-GCM
  • SHA-256
  • PBKDF2
03

技术实现STACK

100% C# / .NET
客户端CLIENT

原生 C# / .NET 8 / WPF 桌面应用,使用系统字体、系统颜色与 WPF 默认控件样式,接近 Windows 原生对话框的观感。

  • C#
  • .NET 8
  • WPF
原生 Windows 集成WIN32

托盘图标与右键菜单直接调用 Win32 Shell_NotifyIcon、 CreatePopupMenu 与 TrackPopupMenu,不依赖第三方外壳。

  • Shell_NotifyIcon
  • TrackPopupMenu
  • 单实例
数据安全CRYPTO

AES-GCM 加密 + SHA-256 完整性校验,主目录 / 备份目录 / 日志目录三副本自愈; 密码散列使用 PBKDF2-HMAC-SHA256。

  • AES-GCM
  • SHA-256
  • PBKDF2
插件 SDK 与发布SDK / CI

BetterRNP.PluginSdk NuGet 包 + .rnpp 自动打包; Release 同时提供自包含版、框架依赖版与插件 SDK。

  • NuGet
  • .rnpp
  • GitHub Releases
04

版本记录RELEASES

TAGS / RELEASES
  1. 2026.10.17 RL-003

    v2.1.0 插件 SDK 发布

    正式提供 BetterRNP.PluginSdk:插件接口、清单模型与 .rnpp 打包工具;引用 SDK 后构建即自动生成插件包,并自动排除宿主程序集。

    STABLE
  2. 2026.10.17 RL-002

    v2.0.1 界面与主题更新

    设置页与结果区改为透明背景,背景图可直接透出;图片库改成缩略图列表,新增自由裁切与拖拽选区。

    RELEASE
  3. 2026.10.17 RL-001

    v2.0.0 .NET 8 / WPF 重写版

    由 Java Swing 迁移到 .NET 8 / C# / WPF:三种滚停式抽取、.rnpp 插件体系、原生 Win32 托盘菜单、更新检查与背景主题一次到位。

    RELEASE
05

下载与构建DOWNLOAD

CHANNEL OPEN
CHANNEL://RELEASES.BETTERRNP P.05

> 安装包通过 GitHub Releases 发布,「下载最新版」始终指向最新正式版。

> 自包含版内置 .NET 8 运行时(约 63 MB,解压即用);框架依赖版需预装 .NET 8 桌面运行时。

# 从源码构建(Windows + .NET 8 SDK)
dotnet build BetterRNP.sln -c Release
dotnet run --project src\BetterRNP\BetterRNP.csproj

# 生成自包含版 / 框架依赖版 / 插件 SDK
powershell -ExecutionPolicy Bypass -File tools\build-release.ps1

数据默认保存在程序目录:data/ 存配置、方案、主题与插件状态, log/ 存操作日志与加密备份,plugins/ 存 .rnpp 插件; 升级程序不会覆盖这些目录。插件开发见仓库 docs/PLUGIN_SDK.md。