コード例 #1
0
ファイル: HubService.cs プロジェクト: arcinxe/ArktinMonitor
        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;
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: arcinxe/ArktinMonitor
        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;
            }
        }