private static void PowerAction(string nameOfAction, int delayInSeconds) { var user = SessionManager.GetActive(); switch (nameOfAction) { case "lock": if (!string.IsNullOrWhiteSpace(user)) { LogOnPage($"Locking computer.."); SessionManager.DisconnectCurrentUser(); LogOnPage($"Computer locked!"); } else { LogOnPage($"No user logged in!"); } break; case "logoff": if (!string.IsNullOrWhiteSpace(user)) { LogOnPage($"Logging off user {user}.."); SessionManager.LogOutCurrentUser(); LogOnPage($"User {user} has been logged off!"); } else { LogOnPage($"No user logged in!"); } break; case "shutdown": LogOnPage("Shutdown in progress.."); PowerAndSessionActions.Shutdown(delayInSeconds); break; case "restart": LogOnPage("Restart in progress.."); PowerAndSessionActions.Restart(); break; case "hibernate": LogOnPage("Hibernation in progress.."); PowerAndSessionActions.Hibernate(); break; case "sleep": LogOnPage("Putting computer in sleep mode in progress.."); PowerAndSessionActions.Sleep(); break; default: LocalLogger.Log("Unknown SignalR action has been called. " + $"{nameof(PowerAction)}(string nameOfAction = \"{nameOfAction}\" int delay = {delayInSeconds})"); break; } }
private static void Main(string[] args) { //TextToSpeechHelper.VoiceDebug($"total arguments of {args.Length}.");// TODO: Remove this //TextToSpeechHelper.VoiceDebug($"first argument: {args.FirstOrDefault()}.");// And this //TextToSpeechHelper.VoiceDebug($"second argument: {args.ElementAtOrDefault(1)}.");// This too if (!args.Any()) { return; } switch (args.FirstOrDefault()) { case "lock": PowerAndSessionActions.Lock(); break; case "logout": PowerAndSessionActions.LogOut(); break; case "message": MessageBox.Show(args[1], "ArktinMonitor", MessageBoxButton.OK, MessageBoxImage.Warning, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly); //System.Windows.Forms.MessageBox.Show(args[1], "ArktinMonitor"); break; case "screen": Directory.CreateDirectory(Settings.UserRelatedStoragePath); var path = Path.Combine(Settings.UserRelatedStoragePath, "ss.an"); ScreenCapture.CaptureScreenToFile(path); break; case "keys": Helpers.KeySender.Test(args[1]); break; case "run": Helpers.Processes.RunApp(args[1], args.ElementAtOrDefault(2)); break; } }