Мгновенное выключение ПК: process.start («выключение», «/ s / t») - PullRequest
0 голосов
/ 01 июля 2018

Я хочу выключить компьютер по истечении установленного мной времени (Для ввода я использовал 3 текстовых поля) , но когда я нажимаю кнопку:

private void button1_Click(object sender, EventArgs e)
{
    int totalSeconds = int.Parse(hours.Text.ToString()) * 120 +
                       int.Parse(minutes.Text.ToString()) * 60 + 
                       int.Parse(seconds.Text.ToString());

    System.Diagnostics.Process.Start("shutdown", "/s /t " + totalSeconds.ToString());
}

ПК мгновенно выключается.

Редактировать: приведенный выше код не был проблемой, он работает просто отлично, проблема была в том, что у меня было InitialiseComponent(); два раза в функции Form1().

1 Ответ

0 голосов
/ 02 июля 2018

Попробуйте это, здесь я жестко запрограммировал значения часов, минут и выключения, вы можете установить эти значения с помощью текстовых полей.

private void button1_Click(object sender, EventArgs e) {

 string shutdown = "-s"; // -s -> shutdown
 int hour = 1 * 60 * 60; //3600 seconds
 int minute = 1 * 60; //60 seconds
 int second = 1; //1 seconds
 int totalSeconds = hour + minute + second; //total seconds should be : 3661
 Process.Start("Shutdown", shutdown + " -t " + totalSeconds + @" -c ""Windows is going to shutdown!"""); // -t = time , -c = comments

}

Кроме того, если вы хотите прервать отключение, вы можете использовать эту строку кода, Process.Start("Shutdown", "-a");

...