Codingnow20 Ответов: 3

Как создать аварийную программу?


Привет, я пытаюсь разработать программу для сбоя большой программы, которая работает на большой машине.
Я знаю, что это звучит плохо, чтобы разбить его, но если по какой-то причине машина выйдет из-под контроля, мы можем остановить машину, но она не остановит программу.C# записывает в ПЛК, поэтому программа запускает машину.Windows 10-это не вариант, потому что мы все ее ненавидим.

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

Я действительно не знаю, с чего начать. Я новичок в c# и программировании в целом.Заранее спасибо

Gerry Schmitz

Перекрыть кислород.

Dave Kreskowiak

Вы можете остановить машину, но код ПЛК продолжает работать, как работает машина?

Судя по вашему описанию, у вас есть гораздо большие проблемы, чем просто закрытие приложения. У вас есть проблемы с датчиками и кодом ПЛК. Похоже, что ПЛК понятия не имеет, в каком состоянии находится машина в любой момент, и просто продолжает работать, как будто все в порядке. Это плохо.

3 Ответов

Рейтинг:
23

Clifford Nelson

Работает начиная с windows XP, недоступна в win 2000 или ниже:

Это самый быстрый способ сделать это:

Process.Start("shutdown","/s /t 0");


В противном случае используйте P/Invoke или WMI, как уже говорили другие.

Правка: как избежать создания окна
var psi = new ProcessStartInfo("shutdown","/s /t 0");
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
Process.Start(psi);

благодаря поп-Каталин
.net - как выключить компьютер из C# - переполнение стека[^]


Codingnow20

спасибо

Clifford Nelson

Рад, что это сработало.

Рейтинг:
1

Richard MacCutchan

Во-первых, вы должны хорошо понимать программирование в целом, как строятся программы, как они работают и как они реагируют на внешние события. Далее вам нужно хорошо понимать операционную систему, на которой будет работать ваша программа, и то, как вы можете взаимодействовать с ней и с другими запущенными программами. Тогда вам нужен язык программирования, который подходит для такого рода задач, C или C++, вероятно, лучший выбор, чем C#. Наконец, вы должны понимать, что если большая программа работает неправильно, или машина работает неправильно, ваш "crasher", скорее всего, не будет работать правильно.

И для протокола, если вы остановите машину, как эта другая программа будет продолжать работать?


Рейтинг:
0

F-ES Sitecore

Обновите его до Windows 10.