mirror of
https://github.com/Leonmmcoset/CMLeonOS.git
synced 2026-03-03 11:37:01 +00:00
修复某些bug
This commit is contained in:
@@ -124,7 +124,7 @@ namespace CMLeonOS
|
||||
}
|
||||
|
||||
// 执行命令
|
||||
Console.WriteLine($"Executing: {line}");
|
||||
// Console.WriteLine($"Executing: {line}");
|
||||
shell.ExecuteCommand(line);
|
||||
}
|
||||
|
||||
|
||||
80
Shell.cs
80
Shell.cs
@@ -89,47 +89,46 @@ namespace CMLeonOS
|
||||
break;
|
||||
case "help":
|
||||
Console.WriteLine("Available commands:");
|
||||
Console.WriteLine(" echo <text> - Display text (supports \\n for newline)");
|
||||
Console.WriteLine(" clear/cls - Clear the screen");
|
||||
Console.WriteLine(" restart - Restart the system");
|
||||
Console.WriteLine(" shutdown - Shutdown the system");
|
||||
Console.WriteLine(" time - Display current time");
|
||||
Console.WriteLine(" date - Display current date");
|
||||
Console.WriteLine(" prompt <text> - Change command prompt");
|
||||
Console.WriteLine(" calc <expr> - Simple calculator");
|
||||
Console.WriteLine(" history - Show command history");
|
||||
Console.WriteLine(" echo <text> - Display text (supports \\n for newline)");
|
||||
Console.WriteLine(" clear/cls - Clear the screen");
|
||||
Console.WriteLine(" restart - Restart the system");
|
||||
Console.WriteLine(" shutdown - Shutdown the system");
|
||||
Console.WriteLine(" time - Display current time");
|
||||
Console.WriteLine(" date - Display current date");
|
||||
Console.WriteLine(" prompt <text> - Change command prompt");
|
||||
Console.WriteLine(" calc <expr> - Simple calculator");
|
||||
Console.WriteLine(" history - Show command history");
|
||||
Console.WriteLine(" background <hex> - Change background color");
|
||||
Console.WriteLine(" cuitest - Test CUI framework");
|
||||
Console.WriteLine(" edit <file> - Simple code editor");
|
||||
Console.WriteLine(" ls <dir> - List files and directories");
|
||||
Console.WriteLine(" cd <dir> - Change directory");
|
||||
Console.WriteLine(" pwd - Show current directory");
|
||||
Console.WriteLine(" mkdir <dir> - Create directory");
|
||||
Console.WriteLine(" rm <file> - Remove file");
|
||||
Console.WriteLine(" Use -norisk to delete files in sys folder");
|
||||
Console.WriteLine(" rmdir <dir> - Remove directory");
|
||||
Console.WriteLine(" cat <file> - Display file content");
|
||||
Console.WriteLine(" cuitest - Test CUI framework");
|
||||
Console.WriteLine(" edit <file> - Simple code editor");
|
||||
Console.WriteLine(" ls <dir> - List files and directories");
|
||||
Console.WriteLine(" cd <dir> - Change directory");
|
||||
Console.WriteLine(" pwd - Show current directory");
|
||||
Console.WriteLine(" mkdir <dir> - Create directory");
|
||||
Console.WriteLine(" rm <file> - Remove file");
|
||||
Console.WriteLine(" Use -norisk to delete files in sys folder");
|
||||
Console.WriteLine(" rmdir <dir> - Remove directory");
|
||||
Console.WriteLine(" cat <file> - Display file content");
|
||||
Console.WriteLine(" echo <text> > <file> - Write text to file");
|
||||
Console.WriteLine(" head <file> - Display first lines of file");
|
||||
Console.WriteLine(" Usage: head <file> <lines>");
|
||||
Console.WriteLine(" tail <file> - Display last lines of file");
|
||||
Console.WriteLine(" Usage: tail <file> <lines>");
|
||||
Console.WriteLine(" wc <file> - Count lines, words, characters");
|
||||
Console.WriteLine(" cp <src> <dst> - Copy file");
|
||||
Console.WriteLine(" mv <src> <dst> - Move/rename file");
|
||||
Console.WriteLine(" touch <file> - Create empty file");
|
||||
Console.WriteLine(" find <name> - Find file");
|
||||
Console.WriteLine(" getdisk - Show disk information");
|
||||
Console.WriteLine(" user <cmd> - User management");
|
||||
Console.WriteLine(" user add admin <username> <password> - Add admin user");
|
||||
Console.WriteLine(" user add user <username> <password> - Add regular user");
|
||||
Console.WriteLine(" user delete <username> - Delete user");
|
||||
Console.WriteLine(" user list - List all users");
|
||||
Console.WriteLine(" logout - Logout current user");
|
||||
Console.WriteLine(" cpass - Change password");
|
||||
Console.WriteLine(" version - Show OS version");
|
||||
Console.WriteLine(" about - Show about information");
|
||||
Console.WriteLine(" help - Show this help message");
|
||||
Console.WriteLine(" head <file> - Display first lines of file");
|
||||
Console.WriteLine(" Usage: head <file> <lines>");
|
||||
Console.WriteLine(" tail <file> - Display last lines of file");
|
||||
Console.WriteLine(" Usage: tail <file> <lines>");
|
||||
Console.WriteLine(" wc <file> - Count lines, words, characters");
|
||||
Console.WriteLine(" cp <src> <dst> - Copy file");
|
||||
Console.WriteLine(" mv <src> <dst> - Move/rename file");
|
||||
Console.WriteLine(" touch <file> - Create empty file");
|
||||
Console.WriteLine(" find <name> - Find file");
|
||||
Console.WriteLine(" getdisk - Show disk information");
|
||||
Console.WriteLine(" user <cmd> - User management");
|
||||
Console.WriteLine(" user add admin <username> <password> - Add admin user");
|
||||
Console.WriteLine(" user add user <username> <password> - Add regular user");
|
||||
Console.WriteLine(" user delete <username> - Delete user");
|
||||
Console.WriteLine(" user list - List all users");
|
||||
Console.WriteLine(" cpass - Change password");
|
||||
Console.WriteLine(" version - Show OS version");
|
||||
Console.WriteLine(" about - Show about information");
|
||||
Console.WriteLine(" help - Show this help message");
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("Startup Script: sys\\startup.cm");
|
||||
Console.WriteLine(" Commands in this file will be executed on startup");
|
||||
@@ -283,9 +282,6 @@ namespace CMLeonOS
|
||||
case "user":
|
||||
ProcessUserCommand(args);
|
||||
break;
|
||||
case "logout":
|
||||
userSystem.Logout();
|
||||
break;
|
||||
case "cpass":
|
||||
userSystem.ChangePassword();
|
||||
break;
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace CMLeonOS
|
||||
private string sysDirectory = @"0:\system";
|
||||
private string userFilePath;
|
||||
private List<User> users;
|
||||
public bool fixmode = Kernel.FixMode;
|
||||
|
||||
public UserSystem()
|
||||
{
|
||||
@@ -217,55 +218,56 @@ namespace CMLeonOS
|
||||
Console.WriteLine("====================================");
|
||||
Console.WriteLine(" System Login");
|
||||
Console.WriteLine("====================================");
|
||||
Console.WriteLine("Press any key to continue...");
|
||||
Console.ReadKey(true);
|
||||
// Console.ReadKey(true);
|
||||
|
||||
// 检测ALT+Space按键
|
||||
bool useFixMode = false;
|
||||
ConsoleKeyInfo keyInfo;
|
||||
try
|
||||
{
|
||||
keyInfo = Console.ReadKey(true);
|
||||
if (keyInfo.Key == ConsoleKey.Spacebar && (keyInfo.Modifiers & ConsoleModifiers.Alt) != 0)
|
||||
{
|
||||
// 检测到ALT+Space,进入修复模式
|
||||
useFixMode = true;
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("Fix Mode Activated");
|
||||
Console.Write("Enter fix code: ");
|
||||
|
||||
string fixCode = "";
|
||||
while (true)
|
||||
if (fixmode == true) {
|
||||
keyInfo = Console.ReadKey(true);
|
||||
if (keyInfo.Key == ConsoleKey.Spacebar && (keyInfo.Modifiers & ConsoleModifiers.Alt) != 0)
|
||||
{
|
||||
var codeKey = Console.ReadKey(true);
|
||||
if (codeKey.Key == ConsoleKey.Enter)
|
||||
// 检测到ALT+Space,进入修复模式
|
||||
useFixMode = true;
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("Fix Mode Activated");
|
||||
Console.Write("Enter fix code: ");
|
||||
|
||||
string fixCode = "";
|
||||
while (true)
|
||||
{
|
||||
Console.WriteLine();
|
||||
break;
|
||||
}
|
||||
else if (codeKey.Key == ConsoleKey.Backspace)
|
||||
{
|
||||
if (fixCode.Length > 0)
|
||||
var codeKey = Console.ReadKey(true);
|
||||
if (codeKey.Key == ConsoleKey.Enter)
|
||||
{
|
||||
fixCode = fixCode.Substring(0, fixCode.Length - 1);
|
||||
Console.WriteLine();
|
||||
break;
|
||||
}
|
||||
else if (codeKey.Key == ConsoleKey.Backspace)
|
||||
{
|
||||
if (fixCode.Length > 0)
|
||||
{
|
||||
fixCode = fixCode.Substring(0, fixCode.Length - 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fixCode += codeKey.KeyChar;
|
||||
Console.Write(codeKey.KeyChar);
|
||||
}
|
||||
}
|
||||
|
||||
if (fixCode == "FixMyComputer")
|
||||
{
|
||||
Console.WriteLine("Fix mode enabled!");
|
||||
}
|
||||
else
|
||||
{
|
||||
fixCode += codeKey.KeyChar;
|
||||
Console.Write(codeKey.KeyChar);
|
||||
Console.WriteLine("Invalid fix code. Exiting fix mode.");
|
||||
useFixMode = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (fixCode == "FixMyComputer")
|
||||
{
|
||||
Console.WriteLine("Fix mode enabled!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Invalid fix code. Exiting fix mode.");
|
||||
useFixMode = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user