Releases: MaxLHy0424/SCLTK
Releases · MaxLHy0424/SCLTK
v6.1.1
v6.1.0
Note
从本版本起, 原 CRCSN (Computer Room Control Software Nemesis) 正式改名为 SCLTK (Student Computer Lab Toolkit).
Warning
本次更新中大量选项名称 (包括显示名称和 ID 名称) 已修改, 更新前务必备份 config.ini
后重新配置.
软件本体
- 将选项分类 "试验性内容" 改名为 "杂项".
- 将选项 "置顶显示" 改名为 "置顶窗口".
- 将选项 "修复操作系统环境" 移至 "杂项".
- 添加选项 "快速退出和重启" 至 "杂项".
- 重构配置操作与破解/恢复操作.
- 重构控制台清屏和大小调整为 Windows API.
- 重构 "置顶窗口".
- 添加新 API 至
cpp_utils
. - 添加 "修复系统文件" 至 "工具箱".
- 优化 "修复操作系统环境" 性能.
- 优化窗口属性设置性能.
- 优化多线程管理.
- 优化 Console UI.
- 优化等待 UI.
- 优化 URL 高亮显示.
- 优化日志输出.
- 优化函数模板匹配.
- 修复部分情况下编译错误.
- 修复按
Ctrl + C
将强制退出软件. - 移除多余头文件.
- 移除 "修复操作系统环境" 中部分规则.
- 更换图标.
- 其他的改进和修复.
其他
- 优化构建系统.
- 添加 "二次开发" 文档章节.
- 修复文档链接错误.
v6.0.0
首先, 感谢大家一直以来对 CRCSN 的支持! 在此, 祝大家 2025 年新春快乐! 🎉
距离 CRCSN 在 2023 年发布第一个版本以来, 已经经过了一年时光. 谨以此次更新纪念这过去的 2024 年, 过往的我们, 过去我们的点点滴滴...
2024 年的时光一去不复返, 我们回首过去, 展望未来. 我们尚不知 2025 年的风风雨雨, 我们能做的, 唯有大步向前...
以下为本次更新的内容.
软件本体
- 转至 Modern C++ 开发规范 (C++ 26 / GNU++ 26).
- 移除启动脚本.
- 添加配置文件支持.
- 添加若干配置选项, 细分配置选项.
- 添加自定义规则.
- 添加 "工具箱".
- 添加 "红蜘蛛多媒体网络教室" 破解/恢复规则.
- 添加 URL 访问控件.
- 添加 "重启" 控件.
- 添加 i686 架构支持.
- 退出命令提示符后强制重设窗口.
- 优化 Console UI 性能.
- 优化命令提示符使用体验.
- 优化置顶显示性能.
- 优化日志输出.
- 优化软件内部常量定义.
- 重绘图标.
- 重构数据存储结构.
- 重构多线程任务管理.
- 重构破解/恢复操作命令生成为执行时生成.
- 重构窗口初始化.
- 增强代码可维护性与可扩展性.
- 字符编码从 GBK 改为 GB18030.
- 使用编译期常量替代部分宏定义.
- 使用枚举常量替代部分字符字面量.
- 使用
std::print
替代std::printf
与std::puts
. - 使用
std::this_thread::sleep_for
替代Sleep
. - 使用
std::format
替代std::string
拼接. - 修复操作系统命令执行相关安全问题.
- 修复 "极域电子教室" 破解/恢复规则缺失服务.
- 其他的改进和修复及技术性更改.
其他
- 优化代码格式化配置.
- 重构文档.
- 重构构建.
- 编译优化等级改为
Ofast
(着重优化执行速度).
v5.11.1
当前版本
- 使用
std::string
替代const char*
; - 移除多余
explicit
关键字; - 简化类的默认构造函数, 拷贝构造函数, 移动构造函数, 析构函数;
console_ui::func_args
数据成员ui
改名为parent_ui
并改为使用引用;- 添加
console_ui::optimize_storage()
和console_ui::optimize_text()
函数; - 添加
type_wrapper
类型别名模板; - 修复部分对象移动操作的错误;
- 移除对未使用堆内存的对象的移动操作;
- 更新文档;
- 编译标准提升至 Gnu++ 26;
- 常规的技术性改进和修复.
下一个主要更新
- 使用
std::format(...)
替代std::string
拼接; - 优化 "配置" 及 "工具箱" 界面初始化;
- 优化 "信息" 中鼠标悬浮至 URL 文本时 URL 的文本属性;
- 命令提示符界面允许缩放窗口;
- 修复在包含非 GBK 字符的路径中启动无法正常提权;
- 更新文档;
- 常规的技术性改进和修复.
v5.11.0
当前版本
- 重命名
mod.hpp
为core.hpp
并将命名空间mod
改名core
; console_ui.hpp
限制在 C++ 23 或更高 C++ 标准下编译;console_ui::item_
改为使用std::deque
存储;console_ui
添加若干公共函数及宏定义;console_ui
所有公共函数禁止传入空指针;console_ui
使用std::this_thread::sleep_for(...)
代替Sleep(...)
;console_ui::size_type_
改为公有成员并改名为size_type
;console_ui
成员函数使用的迭代器改为常量迭代器;- 补齐
console_ui::ui_item_
的移动构造函数; - 修复
console_ui
显示项目中的潜在问题; - 补齐系统命令中可执行文件的
.exe
或.com
文件扩展名; - 修改 UI 控件高亮颜色;
- 使用
enum class
代替enum
; - 修复窗口初始化字符编码错误;
- 优化类构造函数性能;
- 优化字符串字面量可读性;
- 移除命令提示符;
- 修改启动脚本缩进;
- 修改版权声明;
- 更新文档;
- 常规的技术性更改.
下一个主要更新
- 使用
std::this_thread::sleep_for(...)
代替Sleep(...)
; - 修改配置文件标签名称;
- "修复模式" 改名 "环境修复";
- 优化配置菜单初始化性能开销;
- 优化配置文件写入逻辑;
- 拆分置顶窗口与环境修复逻辑至单独函数;
- 修改配置编辑界面控件高亮颜色;
- 添加鼠标悬浮至 URL 控件上的下划线;
- 修复 "增强窗口" 启用前后窗口关闭控件错误;
- 添加用户界面初始化日志输出;
- 补齐
core::toolkit::exec_cmd
与core::config_op
的拷贝与移动构造函数; - 将类型标识符
constexpr const char *const
改为const char *const
; - 常规的技术性更改.
v5.10.6
当前版本
- 优化代码格式化配置;
- 优化短
case
代码块; - 优化 console ui 函数模板类
std::function
对象操作开销; - 将
console_ui::item_number()
更名为console_ui::item_counter()
; - 优化
console_ui::write_(...)
性能; - 使用结构体阻止所有破解/恢复规则;
- 更新文档与构建;
- 常规的技术性更改.
下一个主要更新
- 优化代码格式化配置;
- 优化短
case
代码块; - 优化 console ui 函数模板类
std::function
对象操作开销; - 将
console_ui::item_number()
更名为console_ui::item_counter()
; - 优化
console_ui::write_(...)
性能; - 使用
std::print(...)
替代std::printf(...)
与std::puts(...)
; - 使用结构体阻止所有破解/恢复规则;
- 修改并硬编码命令提示符窗口大小;
- 简化配置加载日志输出;
- 优化配置遍历;
- 将
repaired_mode
改为repair_mode
; - 优化修复模式注册表操作执行;
- 修复启动日志输出错误;
- 将 lambda 对象由拷贝改为移动;
- 以非管理员权限重启时软件退出值改为
1
; - 代码页设定使用
CODE_PAGE
宏替换, 值为936
; - 窗口标题设定使用
CODE_PAGE
宏替换, 值为"CRCSN"
; - 优化代码可读性;
- 更新文档与构建;
- 常规的技术性更改.
v5.10.5
软件本体
当前版本
- 使用自定义的
.clang-format
格式化代码; - 命令行参数错误不再重置已修改的参数;
- 优化置顶窗口性能;
- 修复创建多余破解/恢复规则条目;
- 将部分移动操作开销大于拷贝操作开销的移动操作改为拷贝操作;
- 使用谓语句优化判断;
- 回退内联
console_ui::call_fn_(const MOUSE_EVENT_RECORD &)
; - 优化 "信息" 界面布局;
- 移除版权声明中的 "All Rights Reserved." 字样;
下一个主要更新
- 使用自定义的
.clang-format
格式化代码; - 重构数据存储结构;
- 优化置顶窗口性能;
- 取消配置文件文件名硬编码;
- 更名 "保护模式" 为 "修复模式";
- 降低 "修复模式" 操作执行休眠时间;
- 优化 "信息" 界面布局;
- 移除版权声明中的 "All Rights Reserved." 字样.
启动脚本
无
其他
- 更新文档;
- 更新构建;
- 修改静态分析及调试配置.
v5.10.4
软件本体
当前版本
- 破解/恢复规则的可执行文件项目不再在破解/恢复时追加
.exe
文件扩展名 (每个可执行文件项目补齐.exe
文件扩展名); - 内联
console_ui::call_func_()
; - 优化
console_ui::rewrite_()
性能; - 优化
console_ui_fn_args
构造函数; - 将
console_ui::remove()
更名为console_ui::remove()
; - 优化 "关于" (现更名为 "信息") UI 初始化性能;
- 移除类成员函数定义多余
inline
关键字; - 修复从其他终端启动软件并退出后窗口属性未重置;
- 修复编译时启用
-Weffc++
时产生警告; - 微调 UI 文本;
- 常规的技术性更改.
下一个主要更新
- 添加工具箱;
- 添加 "保护模式" 配置选项;
- 合并 "增强窗口" 和 "隐藏窗口关闭控件";
- 破解/恢复将实时生成命令并执行;
- 修改配置项目字符串;
- 优化命令提示符使用体验;
- 优化配置加载性能;
- 修复加载自定义规则时崩溃 (使用 C++ STL
std::string
代替自定义simple_string
); - 修复从其他终端启动软件并退出后窗口属性未重置;
- 修复窗口控件编辑错误;
- 修复
ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT)
参数错误; - 修复编译时启用
-Weffc++
时产生警告; - 常规的技术性更改.
启动脚本
- 常规的技术性更改.
其他
- 更新文档;
- 更新构建.
v5.10.3
软件本体
当前版本
- 进入函数时默认锁定控制台 (隐藏光标, 禁止选中文字);
- 修复
console_ui::lock
函数相关问题; - Windows API 函数调用显式使用 ANSI 编码;
- 修改部分标识符命名;
- 优化操作提示输出性能;
- 优化编译平台检测;
- 微调 UI 文本.
下一个主要更新
- 添加文档;
- 合并配置 "半透明窗口" 与 "置顶窗口" 为 "增强窗口";
- 添加配置 "增强操作";
- 添加配置文件不可读取时的提示;
- 修复配置文件检测到未知标签时配置存储相关问题;
- 修复配置文件保存时清空自定义规则;
- 修复同步配置时操作提示文本错误;
- 微调 UI 文本.
启动脚本
无
其他
- 移除文档中二次编译相关内容;
- 优化构建.
v5.10.2
软件本体
当前版本
- 移除
def.hpp
, 宏定义移入info.hpp
; - 重构 UI 库, 添加
lock(const bool)
和set_window(...)
函数; - 重构标识符命名为 snake_case;
- 改用在命名空间内存储操作规则;
- 将命令行参数
-Wa
改为-Wt
; - 修复破解/恢复界面的文字可选中;
- 修复从其他终端启动并退出后光标消失且控制台属性错误;
- 微调 UI 文本;
- 常规的技术性更改.
下一个主要更新
- 优化权限申请;
- 使用
console_ui::set_window(...)
代替mod::init()
; - 修复配置文件读取相关问题;
- 微调 UI 文本;
- 添加
< 重启
控件.
启动脚本
- 微调文本;
- 优化预处理;
- 重构标识符命名为 snake_case.
其他
- 更新文档;
- 构建禁用 RTTI (Runtime Type Information).