# Rox
**Repository Path**: Rainbow-SPY/Rox
## Basic Information
- **Project Name**: Rox
- **Description**: 开源, 多功能, 便携的C#类库, 由Rainbow SPY 独自开发
- **Primary Language**: C#
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 14
- **Forks**: 2
- **Created**: 2025-01-30
- **Last Updated**: 2026-01-08
## Categories & Tags
**Categories**: utils
**Tags**: Csharp, dotNET
## README

Rox 是一个使用 C# .NET Framework 4.7.2 编写,并使用 Microsoft Visual Studio 2026 编译的跨平台动态链接库。它提供了多种功能模块,包括日志记录、文件操作、网络检查、API请求多种功能、Windows 系统配置等。
> 更新到 2026年1月4日 6:53 PM.
---
## 📜 License / 许可证
This project is licensed under **AGPL-3.0 + Attribution + Non-Commercial terms**.
- 🔍 **You must**:
- Keep original author attribution and repository link.
- Open-source any modified versions under AGPL-3.0.
- 🚫 **You cannot**:
- Use this code (or derivatives) for commercial purposes.
- 📂 See [LICENSE](LICENSE) for full terms.
本项目采用 **AGPL-3.0 + 署名 + 非商业附加条款** 许可协议。
- 🔍 **您必须**:
- 保留原始作者署名及仓库链接。
- 任何修改后的版本必须以 AGPL-3.0 协议开源。
- 🚫 **您不得**:
- 将此代码(或衍生作品)用于商业用途。
- 📂 完整条款参见 [LICENSE](LICENSE)。
---
## 常用功能
- [控制台日志输出](#控制台打印彩色日志)
- [Windows 安全中心 身份验证](#7-windows-身份验证)
- [Steam 个人信息公开摘要查询](#Steam个人信息查询兼容v1可等待)
- [当地天气查询](#天气查询可等待)
## 目录
### [操作手册](#操作手册-1)
- [日志](#1-日志)
- [日志输出](#控制台打印彩色日志)
- [写入日志到文件](#写入日志到文件)
- [清空日志](#清空日志)
- [自定义下载](#2-自定义下载)
- [安全软件检测](#3-安全软件检测)
- [网络](#4-网络)
- [网络可用性检查](#网络可用性检查)
- [Windows系统相关配置](#5-Windows系统相关配置)
- [休眠](#启用禁用休眠)
- [卓越性能](#启用卓越性能)
- [启用禁用 Windows 安全中心 与 Windows Defender](#启用禁用windows-安全中心与windows-defender)
- [检查 Windows 更新状态](#检查-windows-update状态)
- [写入注册表](#写入注册表)
- [读取注册表项值](#读取注册表项值)
- [文件](#6-文件)
- [文件属性修改](#文件属性修改)
- [MD5哈希值对比](##md5哈希值对比)
- [获取文件MD5哈希值](#获取文件md5哈希值)
- [Windows 身份验证](#7-windows-身份验证)
- [文本类处理](#8-文本类处理)
- [Json反序列化](#json反序列化)
- [Json序列化](#json序列化)
- [API查询](#9-api查询)
- [Steam 个人信息公开摘要(v1)](#steam个人信息查询兼容v1可等待)
- [天气查询](#天气查询可等待)
- [游戏娱乐](#10-游戏娱乐)
- [获取 Steam 安装路径](#获取-steam-安装路径)
- [获取CS2安装路径](#获取cs2安装路径)
- [Minecraft Java版 村庄英雄Buff加成的交易价格计算](#minecraft-java版-村庄英雄buff加成的交易价格计算)
- [Epic Games 拉取免费游戏](
### [开发环境](#开发环境-1)
## 操作手册
### 1.日志
#### 控制台打印彩色日志
```csharp
Rox.Runtimes.LogLibraries.WriteLog.Info(LogKind logkind,string message);
Rox.Runtimes.LogLibraries.WriteLog.Warning(string logkind,string message);
Rox.Runtimes.LogLibraries.WriteLog.Error(string message);
Rox.Runtimes.LogLibraries.WriteLog.Debug(string message);
```
支持3种重载, 可以自定义`LogKind`的类型, 显式使用字符串作为
* **`LogKind`: 日志报告的类型** 可用枚举详见 `Rox.Runtimes.LogLibraries.LogKind`
___
#### 写入日志到文件
```csharp
Rox.Runtimes.LogLibraries.LogToFile(LogLevel loglevel,LogKind logkind, string message);
Rox.Runtimes.LogLibraries.LogToFile
Rox.Runtimes.LogLibraries.LogToFile(LogLevel loglevel, string message);
```
调用此方法时,会程序目录下创建`log.ralog`日志文件,并会以下格式写入文件
```plaintext
$"{DateTime.Now:yyyy-MM-dd HH:mm:ss} [{logLevel}] [{logkind}]: {message}";
```
___
#### 清空日志
```csharp
Rox.Runtimes.LogLibraries.ClearFile(string filePath);
```
* **`filepath`:** 日志文件路径
### 2. 自定义下载
```csharp
Rox.DownloadAssistant.Downloader(string url);
Rox.DownloadAssistant.Downloader(string[] url);
Rox.DownloadAssistant.Downloader(string url,string location);
Rox.DownloadAssistant.Downloader(string url,string location);
Rox.DownloadAssistant.Downloader(string url,string location,bool log);
+2 重载...
```
* **`url(s)`:** 下载链接
* **`location`**: 下载位置
* **`log`** : 是否启用日志输出
当`bool`为`true`时,日志会输出到程序目录下的`aria2c.log`文件内,反之`false`则不会.
___
### 3. 安全软件检测
```csharp
Rox.Security.Is360SafeRunning();
Rox.Security.IsHuorongSecurityRunning();
```
* **返回值:** `true` 表示安全软件正在运行,`false` 表示未运行。
### 4. 网络
#### 网络可用性检查
```csharp
Rox.Runtimes.Network_I.IsNetworkAvailable();
```
- **返回值:** `true` 表示网络可用,`false` 表示网络不可用。
### 5. Windows系统相关配置
> [!WARNING]
> 此操作执行后可能会影响系统性能和安全。
#### 启用/禁用休眠
```csharp
Rox.Windows.Hibernate.Enable(); //启用休眠
Rox.Windows.Hibernate.Disable(); //禁用休眠
```
___
#### 启用卓越性能
```csharp
Rox.Windows.EnableHighPowercfg(); //启用卓越性能
```
___
#### 启用/禁用Windows 安全中心与Windows Defender
```csharp
Rox.Security.WindowsSecurityCenter.Enable() //启用
Rox.Security.WindowsSecurityCenter.Disable() //禁用
```
___
#### 检查 Windows Update状态
```csharp
bool status = Rox.Windows.WindowsUpdate.CheckStatus();
```
* **返回类型:** bool
* **返回值:** 已禁用更新返回`false`.已启用更新返回`true`,键值不存在或遇到未知错误返回`false`
___
#### 写入注册表
```csharp
Rox.Runtimes.Registry_I.Write(string keyPath,string valueName,object valueData,RegistryValueKind valueType);
```
* **`keyPath`: 设定注册表路径**
* **`valueName`: 设定注册表项名称**
* **`RegistryKind`可用枚举:** `DWord`,`QWord`,`String`等,详细帮助请查看[官方界面](https://learn.microsoft.com/zh-cn/dotnet/api/microsoft.win32.registryvaluekind?view=net-8.0)
* **`valueType`:设定注册表项内数据类型**
* **`valueData`:设定注册表项内数据**
___
#### 读取注册表项值
```csharp
Rox.Runtimes.Registry_I.GetRegistryValue(string keyName, string valueName);
```
* **`keyname`: 注册表项的路径**
* **`valuename`: 注册表项的名称**
* **返回类型:** `string`
### 6. 文件
#### 文件属性修改
```csharp
Rox.Runtimes.File_I.FileProperties(string path, Properties key, bool Enable);
```
* **`path`: 文件的路径**
* **`Properties` 可用枚举:** `System`(设置文件为系统文件),`Hidden`(设置文件为受保护的隐藏文件),`Readonly`(设置文件为只读),`Archive`(设置文件为可存档文件).
* **`key`: 文件属性**
* **`Enable`: 启用或取消属性:** 设置为`true`时,给出的命令为`+r`(示例);设置为`false`时,给出的命令为`-r`(示例).
#### MD5哈希值验证
```csharp
Rox.Runtimes.File_I.CheckFileHash(string filePath, string expectedMD5);
```
* **`filePath`: 文件路径**
* **`expectedMD5`: 期望的MD5哈希值**
* **返回类型: `bool`**
* **返回值: 文件的MD5哈希值与期望的MD5哈希值相同时,返回`true`,反之则为`false`.**
#### 获取文件MD5哈希值
```csharp
Rox.Runtimes.File_I.CalculateMD5(string filePath);
```
* **`filePath`: 文件路径**
* **返回类型: `string`**
* **返回值: 文件的MD5哈希值**
### 7. Windows 身份验证
```csharp
Rox.Windows.Authentication();
```
* **返回类型: `bool`**
* **返回值:** `true` 表示验证成功,`false` 表示取消操作
### 8. 文本类处理
#### Json反序列化
```csharp
Rox.Text.Json.DeserializeObject(string json);
Rox.Text.Json.DeserializeObject(string json);
```
* **`json`:** Json字符串*
* **返回类型:** `` ``
* **返回值:** 返回反序列化后的对象
> 注: `` 已经包含在 DeserializeObject(string json) 方法中,因为返回类型是 ``,所以不需要额外的方法。
___
#### Json序列化
```csharp
Rox.Text.Json.SerializeObject(object obj);
```
* **`obj`:** 对象
* **返回类型:** `string`
* **返回值:** 返回序列化后的Json字符串
### 9. API查询
#### Steam个人信息查询_v1(可等待)
```csharp
await Rox.GameExpansionFeatures.SteamUserData_v1.GetDataJson_v1(string SteamID);
var type = await Rox.GameExpansionFeatures.SteamUserData_v1.GetDataJson_v1(SteamID);
var info = type.$SteamType$;
```
* **`steamID`:** SteamID,支持SteamID3,ID64,个人主页链接,自定义URL,好友代码
* **`$SteamType$`:** 实际的 **SteamType** 属性
* **返回类型:** `Json`
* **返回值:** 返回Steam用户信息
**附: SteamType类属性**
| 属性 | 注释 |
| :------------: |:------------: |
| **`long`** steamid | SteamID64 ( 7656xxxxxxxx ) |
| **`int`** communityvisibilitystate | 社区隐私状态, 1 为可见 3为隐藏 |
| profilestate| 如果属性返回 1 代表用户已经填写了个人资料 |
| personaname | 用户名 |
| profileurl | **带有转义符**的个人主页链接(https:\\/\\/) |
| profileurl_1 | **无转义符**的个人主页链接 |
| avator | **带有转义字符**的头像链接(https:\\/\\/) |
| avator_1 | **无转义符**的头像链接 |
| personastate | 在线状态, 0-离线, 1-在线
2-忙碌, 3-离开, 4-打盹, 5-想交易, 6-想玩。 |
| realname | 真实姓名 |
| primaryclanid | 主要组ID |
| timecreated_str | 创建账号时间 |
| loccountrycode | 账号绑定区域 (US/CN/HK)|
| steamID3 | SteamID3 ( [U:1:xxxxxxx] ) |
| accountcreationdate | 账号创建时间 |
| friendcode | ⚠**不兼容v1** 好友代码 |
___
#### 天气查询_v1(可等待)
```csharp
var allweather = await Rox.API.Weather_v1.GetWeatherDataJson(string city);//获取返回的Json
var allweather = await Rox.API.Weather_v1.GetWeatherDataJson(int adcode);//获取返回的Json
string type = allweather.$WeatherType$; //获取属性值
举个例子:
var allweather = await Rox.API.Weather_v1.GetWeatherDataJson("东城区");
var allweather = await Rox.API.Weather_v1.GetWeatherDataJson(101101);
string temperature = allweather.temperature_1; //获取气温属性值
```
* **`$WeatherType$`:** 实际的 **WeatherType** 属性
* **`city`:** 指定的地区
* **`adcode`:** 高德地图的6位数字城市编码
* **返回类型:** `Json`
* **返回值:** 天气信息
**附: WeatherType属性**
| 属性 | 注释 |
| :------------: |:------------: |
| code | 错误代码 |
| city | 城市名称 |
| **`int`** humidty | 湿度 |
| humidty_1 | 带有单位的湿度字符串 |
| province | 省份名称 |
| report_time | 天气的更新时间 |
| **`int`** temperature | 气温 |
| temperature_1 | 带有单位的气温字符串 |
| weather | 天气状况 |
| **`int`** wind_direction | 风向 |
| wind_direction_1 | 带有单位的风向字符串 |
| **`int`** wind_power | 风力等级 |
| wind_power_1 | 带有单位的风力等级字符串 |
| msg | 错误信息 |
___
### 10.游戏娱乐
#### 获取 Steam 安装路径
```csharp
Rox.GameExpansionFeatures.Steam.GetSteamPath();
```
* **返回类型:** `string`
* **返回值:** Steam 安装文件夹
#### 获取CS2安装路径
```csharp
Rox.GameExpansionFeatures.CSGO.GetCS2Path();
```
* **返回类型:** `string`
* **返回值:** CS2的存放文件夹路径
#### Minecraft Java版 村庄英雄Buff加成的交易价格计算
```csharp
Rox.GameExpansionFeatures.Minecraft.TradingWithHeroOfVillage_Calculator(int BasePrice, int HearoOfVillage_Level);
```
* **BasePrice:** 基础价格
* **HearoOfVillage_Level:** "村庄英雄"效果等级, 范围 1-5
* **返回类型:** `int`
* **返回值:** 计算后的交易价格
#### 获取 Epic Games 免费游戏列表
``` csharp
await Rox.GameExpansionFeatures.EpicGames.GetFreeGames.GetDataJson()
```
* **返回类型:** `Json`
* **返回值:** 一个或多个免费游戏的详细列表
**附: WeatherType属性**
| 属性 | 注释 |
| :------------: |:------------: |
| id | Epic游戏的唯一标识符 |
| title | 游戏的完整标题名称 |
| cover | 封面图片的URL地址 |
| **`int`** original_price | 游戏原价 单位 CNY¥ |
| original_price_desc | 格式化后的原价描述字符串 |
| description | 游戏的简介描述 |
| seller | 发行商 |
| **`bool`** is_free_now | 当前是否免费 |
| free_start | 免费开始时间的可读字符串格式 |
| free_end | 免费结束时间的可读字符串格式 |
| link | 游戏在Epic Games商店的详情页链接 |
| message | 错误信息 |
## 开发环境
[Visual Studio 2026](https://visualstudio.microsoft.com/zh-hans/vs)
- 系统要求
- [Windows 11 版本 21H2 或更高版本:家庭版、专业版、专业教育版、专业工作站版、企业版和教育版](https://learn.microsoft.com/zh-cn/visualstudio/releases/2026/vs-system-requirements)
- Windows 10 版本 1909 或更高版本:家庭版、专业版、教育版和企业版。
- 64 位操作系统, 基于 x64 的处理器
- 工作负荷
- 桌面应用和移动应用
- .NET 桌面开发
- 编译语言
- C# .NET Framework 4.7.2
- 依赖项
- [视觉窗体库 AntdUI](https://www.nuget.org/packages/AntdUI)
- [Json处理 Newtonsoft.Json ](https://www.nuget.org/packages/newtonsoft.json)
> (部分使用, 大部分使用项目内的 `Rox.Text.Json` 进行简单反/序列化)
- 扩展
> 以下扩展均为 Visual Studio 2026 版本适用的扩展
- [ClaudiaIDE **(视觉 更改文本编辑器的背景)**](https://marketplace.visualstudio.com/items?itemName=kbuchi.ClaudiaIDE)
- [Hide Main Menu, Title Bar, and Tabs 2026 **(视觉 隐藏Tab栏,主菜单)**](https://marketplace.visualstudio.com/items?itemName=ChrisTorng.MinimalisticView)
- [IntelliSense Extender 2022 **(代码辅助 IntelliSense增强版)**](https://marketplace.visualstudio.com/items?itemName=Dreamescaper.IntelliSenseExtender2022)
- [IntelliSense汉语拼音拓展 **(代码辅助 支持汉语拼音拓展)**](https://marketplace.visualstudio.com/items?itemName=stratos.ChinesePinyinIntelliSenseExtender)
- [Markdown Editor v2 **(编辑器 支持编辑和实时显示Markdown)**](https://marketplace.visualstudio.com/items?itemName=MadsKristensen.MarkdownEditor2)
- [One Dark Pro 2026 **(视觉 主题)**](https://marketplace.visualstudio.com/items?itemName=Bayaraa.OneDarkPro2026)