Member 14761028 Ответов: 2

Выполните команду CMD с помощью кнопок на языке C#


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

Я новичок в Visual Studio, и мы только практиковали несколько команд, создавая некоторые шаблоны в формах. Я также использовал только формы, потому что легко создать окно, в котором я хочу нажимать кнопки.

Что я уже пробовал:

Я перепробовал много команд, используя „using System.Параметр " диагностика“, а затем код:

ProcessStartInfo processtartinfo = новый ProcessStartInfo();
processtartinfo.Аргументы = "shutdown /s /t 3600";
processtartinfo.WindowStyle = ProcessWindowStyle.Скрытый;
processtartinfo.Имя Файла = "CMD.exe";
Система.Диагностика.Процесс.Начало(processtartinfo);

Но я не буду работать…
Я тоже пробовал этот код:

строка strCmdText = "shutdown /s/t 3600";
Система.Диагностика.Процесс.Начало("CMD.exe", strCmdText);

Что тоже не сработало…

Richard MacCutchan

Измените параметры в ProcessStartInfo, чтобы вы могли видеть фактическое выполнение команды, включая любые потенциальные сообщения об ошибках.

Richard MacCutchan

Реализовали ли вы какое-либо из предложений, приведенных в решении 2 ниже?

2 Ответов

Рейтинг:
1

Dave Kreskowiak

Вы запускаете CMD, который, если вы откроете командную строку cmd и наберете "CMD/?", вы увидите аргумент для запуска процесса "/C", если хотите, чтобы окно CMD закрылось, когда запущенный им процесс завершится.

Но вам даже не нужно запускать CMD вообще. Вы можете просто запустить "Shutdown.exe-и оставьте аргументы как "/s /t 3600".


Рейтинг:
0

MadMyche

Возможно, вы захотите ознакомиться с документацией для Shutdown команда;
1. Возможно, вам потребуется использовать параметр (force) со стилем скрытого окна
2. ваша временная задержка недействительна, максимальная задержка составляет 600 секунд.

Ссылка: Завершение Работы | Microsoft Docs[^]


Member 14761028

Но когда я вручную выполнить команду в cmd или bat-файла он работает. Максимальной задержки нет, я тоже попробовал 3 часа (10800 сек.), что тоже сработало.