初始化版本

This commit is contained in:
LL
2025-11-14 16:12:32 +08:00
commit ea40f18aa6
326 changed files with 137063 additions and 0 deletions

175
SLC1-N/ActivationManager.cs Normal file
View File

@@ -0,0 +1,175 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SLC1_N
{
public static class ActivationManager
{
private static readonly string ActivationFilePath;
static ActivationManager()
{
// 设置激活文件路径
string userFolder = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
ActivationFilePath = Path.Combine(userFolder, "AppData", "Local", "mxlSoftware", "activation.bin");
// 确保目录存在
Directory.CreateDirectory(Path.GetDirectoryName(ActivationFilePath));
}
// 写入激活状态和到期时间
public static void WriteActivationStatus(bool isActivated, DateTime expiryTime)
{
try
{
string content = $"{isActivated}|{expiryTime:yyyy-MM-dd HH:mm:ss}";
File.WriteAllText(ActivationFilePath, content);
}
catch (Exception ex)
{
}
}
// 写入激活状态并设置有效期
public static void WriteActivationStatus(bool isActivated, int validDays)
{
DateTime expiryTime = isActivated ? DateTime.Now.AddDays(validDays) : DateTime.MinValue;
WriteActivationStatus(isActivated, expiryTime);
}
// 只写入激活状态
public static void WriteActivationStatus(bool isActivated)
{
DateTime expiryTime = isActivated ? DateTime.MaxValue : DateTime.MinValue;
WriteActivationStatus(isActivated, expiryTime);
}
// 读取激活状态和到期时间
public static (bool IsActivated, DateTime ExpiryTime) ReadActivationStatus()
{
try
{
if (!File.Exists(ActivationFilePath))
{
return (false, DateTime.MinValue);
}
string content = File.ReadAllText(ActivationFilePath);
if (!content.Contains('|'))
{
bool status = bool.Parse(content);
DateTime etime = status ? DateTime.MaxValue : DateTime.MinValue;
return (status, etime);
}
string[] parts = content.Split('|');
bool isActivated = bool.Parse(parts[0]);
DateTime expiryTime = DateTime.ParseExact(parts[1], "yyyy-MM-dd HH:mm:ss", null);
return (isActivated, expiryTime);
}
catch (Exception ex)
{
return (false, DateTime.MinValue);
}
}
// 只读取激活状态
public static bool ReadActivationStatusSimple()
{
var (isActivated, _) = ReadActivationStatus();
return isActivated;
}
// 检查激活是否过期
public static bool CheckActivationExpiry()
{
var (isActivated, expiryTime) = ReadActivationStatus();
if (!isActivated)
return false;
// 检查是否过期
return DateTime.Now >= expiryTime;
}
// 获取剩余时间
public static TimeSpan GetRemainingTime()
{
var (isActivated, expiryTime) = ReadActivationStatus();
if (!isActivated || DateTime.Now > expiryTime)
return TimeSpan.Zero;
return expiryTime - DateTime.Now;
}
// 获取剩余天数
public static double GetRemainingDays()
{
TimeSpan remaining = GetRemainingTime();
return remaining.TotalDays;
}
// 获取剩余小时数
public static double GetRemainingHours()
{
TimeSpan remaining = GetRemainingTime();
return remaining.TotalHours;
}
// 判断是否是永久激活
public static bool IsPermanentActivation()
{
var (isActivated, expiryTime) = ReadActivationStatus();
return isActivated && expiryTime == DateTime.MaxValue;
}
// 重置激活状态(删除文件)
public static void ResetActivation()
{
try
{
if (File.Exists(ActivationFilePath))
{
File.Delete(ActivationFilePath);
}
}
catch (Exception ex)
{
MessageBox.Show($"重置激活状态失败: {ex.Message}");
}
}
}
}
/*
*
// 写入激活状态和具体到期时间
ActivationManager.WriteActivationStatus(true, new DateTime(2024, 12, 31));
// 写入激活状态并设置30天有效期
ActivationManager.WriteActivationStatus(true, 30);
// 写入永久激活
ActivationManager.WriteActivationStatus(true);
// 读取激活状态和到期时间
var (isActivated, expiryTime) = ActivationManager.ReadActivationStatus();
// 检查是否过期
bool isValid = ActivationManager.CheckActivationExpiry();
// 获取剩余天数
double remainingDays = ActivationManager.GetRemainingDays();
// 检查是否是永久激活
bool isPermanent = ActivationManager.IsPermanentActivation();
*/