diff --git a/Kernel.cs b/Kernel.cs index 6a331bc..7fca771 100644 --- a/Kernel.cs +++ b/Kernel.cs @@ -124,7 +124,7 @@ namespace CMLeonOS } // 执行命令 - Console.WriteLine($"Executing: {line}"); + // Console.WriteLine($"Executing: {line}"); shell.ExecuteCommand(line); } diff --git a/Shell.cs b/Shell.cs index e33e644..c0db871 100644 --- a/Shell.cs +++ b/Shell.cs @@ -89,47 +89,46 @@ namespace CMLeonOS break; case "help": Console.WriteLine("Available commands:"); - Console.WriteLine(" echo - 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 - Change command prompt"); - Console.WriteLine(" calc - Simple calculator"); - Console.WriteLine(" history - Show command history"); + Console.WriteLine(" echo - 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 - Change command prompt"); + Console.WriteLine(" calc - Simple calculator"); + Console.WriteLine(" history - Show command history"); Console.WriteLine(" background - Change background color"); - Console.WriteLine(" cuitest - Test CUI framework"); - Console.WriteLine(" edit - Simple code editor"); - Console.WriteLine(" ls - List files and directories"); - Console.WriteLine(" cd - Change directory"); - Console.WriteLine(" pwd - Show current directory"); - Console.WriteLine(" mkdir - Create directory"); - Console.WriteLine(" rm - Remove file"); - Console.WriteLine(" Use -norisk to delete files in sys folder"); - Console.WriteLine(" rmdir - Remove directory"); - Console.WriteLine(" cat - Display file content"); + Console.WriteLine(" cuitest - Test CUI framework"); + Console.WriteLine(" edit - Simple code editor"); + Console.WriteLine(" ls - List files and directories"); + Console.WriteLine(" cd - Change directory"); + Console.WriteLine(" pwd - Show current directory"); + Console.WriteLine(" mkdir - Create directory"); + Console.WriteLine(" rm - Remove file"); + Console.WriteLine(" Use -norisk to delete files in sys folder"); + Console.WriteLine(" rmdir - Remove directory"); + Console.WriteLine(" cat - Display file content"); Console.WriteLine(" echo > - Write text to file"); - Console.WriteLine(" head - Display first lines of file"); - Console.WriteLine(" Usage: head "); - Console.WriteLine(" tail - Display last lines of file"); - Console.WriteLine(" Usage: tail "); - Console.WriteLine(" wc - Count lines, words, characters"); - Console.WriteLine(" cp - Copy file"); - Console.WriteLine(" mv - Move/rename file"); - Console.WriteLine(" touch - Create empty file"); - Console.WriteLine(" find - Find file"); - Console.WriteLine(" getdisk - Show disk information"); - Console.WriteLine(" user - User management"); - Console.WriteLine(" user add admin - Add admin user"); - Console.WriteLine(" user add user - Add regular user"); - Console.WriteLine(" user delete - 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 - Display first lines of file"); + Console.WriteLine(" Usage: head "); + Console.WriteLine(" tail - Display last lines of file"); + Console.WriteLine(" Usage: tail "); + Console.WriteLine(" wc - Count lines, words, characters"); + Console.WriteLine(" cp - Copy file"); + Console.WriteLine(" mv - Move/rename file"); + Console.WriteLine(" touch - Create empty file"); + Console.WriteLine(" find - Find file"); + Console.WriteLine(" getdisk - Show disk information"); + Console.WriteLine(" user - User management"); + Console.WriteLine(" user add admin - Add admin user"); + Console.WriteLine(" user add user - Add regular user"); + Console.WriteLine(" user delete - 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; diff --git a/UserSystem.cs b/UserSystem.cs index eef294d..851637e 100644 --- a/UserSystem.cs +++ b/UserSystem.cs @@ -16,6 +16,7 @@ namespace CMLeonOS private string sysDirectory = @"0:\system"; private string userFilePath; private List 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 {