Shutdown GUI

Wenn es wieder spät geworden ist und man nicht gleich den Befehl zum zeitversetzten automatisierten herunterfahren im Kopf hat, habe ich mir eine kleine Anwendung dafür gebaut.

Nichts wildes aber für recht praktisch. Die Anforderung war für mich ein gewisses Intervall einstellen zu können zum Ausschalten oder Neustarten. Falls man es sich doch anders überlegt hat, oder schlichtweg sich vertan hat, ein Abbruchknopf 😉

Für Windows, recht einfach mit Visual Studio umgesetzt mit folgendem Code, oder hier einfach das Projekt oder .EXE runterladen.

Projekt
shutdownProject

EXE
Shutdown


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Shutdown
{
    public partial class TGui : Form
    {
        private String timeString = "15";
        private String timeParamter = " - s - t 900";

        public TGui()
        {
            InitializeComponent();
        }

        private void TGui_Load(object sender, EventArgs e)
        {
          
        }

        private void TrackBar1_ValueChanged(object sender, System.EventArgs e)
        {
            switch (trackBar1.Value)
            {
                case 0:
                    timeString = "15 minutes";
                    timeParamter = "-s -t 900";
                    break;
                case 1:
                    timeString = "30 minutes";
                    timeParamter = "-s -t 1800";
                    break;
                case 2:
                    timeString = "1 hours";
                    timeParamter = "-s -t 3600";
                    break;
                case 3:
                    timeString = "2 hours";
                    timeParamter = "-s -t 7200";
                    break;
                case 4:
                    timeString = "4 hours";
                    timeParamter = "-s -t 14400";
                    break;
                case 5:
                    timeString = "8 hours";
                    timeParamter = "-s -t 28800";
                    break;
                case 6:
                    timeString = "12 hours";
                    timeParamter = "-s -t 43200";
                    break;
                case 7:
                    timeString = "24 hours";
                    timeParamter = "-s -t 86400";
                    break;
                case 8:
                    timeString = "48 hours";
                    timeParamter = "-s -t 172800";
                    break;
                case 9:
                    timeString = "72 hours";
                    timeParamter = "-s -t 259200";
                    break;
                case 10:
                    timeString = "1 week";
                    timeParamter = "-s -t 604800";
                    break;
            }
            lblTime.Text = timeString;
        }

        private void btnShutdown_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(System.Environment.SystemDirectory + "\\shutdown.exe", timeParamter);
        }

        private void btnAbort_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(System.Environment.SystemDirectory + "\\shutdown.exe", "-a");
        }

        private void btnRestart_Click(object sender, EventArgs e)
        {
            timeParamter.Replace("-s", "-r");
            System.Diagnostics.Process.Start(System.Environment.SystemDirectory + "\\shutdown.exe", timeParamter);
        }
    }
}

Leave a Reply

Your email address will not be published. Required fields are marked *