- Перезапуск программы
- Модернизация приложений
- Механизм Application Restart and Recovery
- Restart an application by itself
- 10 Answers 10
- Linked
- Related
- Hot Network Questions
- Subscribe to RSS
- Restarting Windows from within a .NET application
- 8 Answers 8
- Not the answer you’re looking for? Browse other questions tagged c# .net winforms or ask your own question.
- Linked
- Related
- Hot Network Questions
- Subscribe to RSS
- Application.Restart() не завершает процесс
Перезапуск программы
Перезапуск служб
Добрый день у меня вопрос следующего характера. Не подскажите как в c# можно реализовать.
Перезапуск службы
В общем у меня есть свои собственные службы, например: Service1, Service2, Service3 . ServiceN.
Обновление и перезапуск приложения
Добрый день. Я написал модуль (Updater.dll) который проверяет наличие обновлений для программы.
Перезапуск стороннего приложения на сервере
Доброго времени суток! может ли кто-нибудь подсказать с чего начать ? Занимаюсь программированием.
в таком случае предлагаю сделать так.
Тематические курсы и обучение профессиям онлайн Профессия С#-разработчик (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |
теперь работает эффект тот, который и требовался =)
Добавлено через 43 секунды
MAcK, мм, а как Close делать в консольном приложении? =)
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Выключение или перезапуск компьютера
Здравствуйте добрые люди. Покажите пожалуйста код на C# который бы выключал или перезагружал.
Перезапуск одной формы через другую
Ситуация следующая: Есть форма. далее жмется кнопка и начинаются расчеты, порой довольно долгие.
Как можно выполнить перезапуск службы не находясь на сервере
Написал программу, которая Парсит XML, заносит данные в Лист, потом сверяет их с сервером, при.
Перезапуск пула приложения
Выбрал хостинг masterhost, экспериментальным путем выявил, что после 20 минут простоя сайт грузится.
Модернизация приложений
Алексей Федоров (сотрудник российского представительства компании Microsoft (alexeif@microsoft.com))
В предыдущей части данной статьи мы рассказывали об обеспечении стабильной работы приложений, привели ряд рекомендаций и обсудили различные механизмы, предоставляемые для этой цели операционной системой. В настоящей статье мы поговорим о механизме Application Restart and Recovery.
Механизм Application Restart and Recovery
Все современные приложения, написанные для работы под управлением операционных систем Microsoft Windows Vista, Windows 7, а также претендующие на совместимость с будущими версиями клиентских операционных систем, должны включать базовую поддержку механизма Application Restart and Recovery. Для этого обработчик событий должен уметь обрабатывать следующие события, связанные с завершением работы приложения, и выполнять описанные ниже действия:
- сообщение WM_QUERYENDSESSION с параметром LPARAM = ENDSESSION_CLOSEAPP(0x1) — приложение с пользовательским интерфейсом должно немедленно ответить на это сообщение отсылкой TRUE и начать подготовку к перезапуску: конкретные действия зависят от приложения, чаще всего это сохранение состояния, содержимого документов и т.п.;
- сообщение WM_ENDSESSION с параметром LPARAM = ENDSESSION_CLOSEAPP(0x1) — приложение должно ответить на это сообщение отсылкой 0 в течение 30 с после получения сообщения и завершить работу;
- нажатие комбинации клавиш CTRL+C — консольные приложения, получающие сообщение о нажатии данной комбинации клавиш, должны немедленно завершить работу.
Полноценная поддержка механизма Application Restart and Recovery включает регистрацию приложения в специальной структуре, поддерживаемой на уровне ядра операционной системы. Для этого следует использовать функцию RegisterApplicationRestart(), которой в качестве параметров передаются строка и набор флагов. Строка может содержать опции, которые укажут приложению на то, что оно перезапущено и, например, требуется загрузить сохраненные данные. Флаг может иметь либо нулевое значение, либо одно из значений, приведенных в табл. 1.
Таблица 1. Флаги функции RegisterApplicationRestart()
Restart an application by itself
I want to build my application with the function to restart itself. I found on codeproject
This does not work at all. And the other problem is, how to start it again like this? Maybe there are also arguments to start applications.
10 Answers 10
I use similar code to the code you tried when restarting apps. I send a timed cmd command to restart the app for me like this:
The command is sent to the OS, the ping pauses the script for 2-3 seconds, by which time the application has exited from Application.Exit() , then the next command after the ping starts it again.
Note: The \» puts quotes around the path, incase it has spaces, which cmd can’t process without quotes.
Hope this helps!
Why not just the following?
If you want to be sure the app does not run twice either use Environment.Exit(-1) which kills the process instantaneously (not really the nice way) or something like starting a second app, which checks for the process of the main app and starts it again as soon as the process is gone.
You have the initial application A, you want to restart. So, When you want to kill A, a little application B is started, B kill A, then B start A, and kill B.
To start a process:
To kill a process, is something like this
A lot of people are suggesting to use Application.Restart. In reality, this function rarely performs as expected. I have never had it shut down the application I am calling it from. I have always had to close the application through other methods such as closing the main form.
You have two ways of handling this. You either have an external program that closes the calling process and starts a new one,
you have the start of your new software kill other instances of same application if an argument is passed as restart.
Winforms has the Application.Restart() method, which does just that. If you’re using WPF, you can simply add a reference to System.Windows.Forms and call it.
Another way of doing this which feels a little cleaner than these solutions is to run a batch file which includes a specific delay to wait for the current application to terminate. This has the added benefit of preventing the two application instances from being open at the same time.
Example windows batch file («restart.bat»):
In the application, add this code:
private static bool _exiting; private static readonly object SynchObj = new object(); public static void ApplicationRestart(params string[] commandLine) < lock (SynchObj) < if (Assembly.GetEntryAssembly() == null) < throw new NotSupportedException("RestartNotSupported"); >if (_exiting) < return; >_exiting = true; if (Environment.OSVersion.Version.Major
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.4.16.39093
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Restarting Windows from within a .NET application
How could I restart or shutdown Windows using the .NET framework?
8 Answers 8
The following code will execute the shutdown command from the shell:
I don’t know a pure .NET way to do it. Your options include:
- P/Invoke the ExitWindowsEx Win32 function
- Use Process.Start to run shutdown.exe as already suggested.
Here is P/Invoke way:
The best way I saw:
Also there are few WinAPI ways..
You can use WMI, with LINQ to smooth over its rough spots.
check this aticle.. that gives the answers for ur question
If you don’t mind using the WinAPI, you could call the ExitWindows function, in user32.dll. Here’s an article telling you all about it:
http://www.eggheadcafe.com/tutorials/aspnet/e5ef4e3e-6f42-4b9b-8834-04366ce32c96/net-lock-logoff-reboot.aspx
Not the answer you’re looking for? Browse other questions tagged c# .net winforms or ask your own question.
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.4.16.39093
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Application.Restart() не завершает процесс
После вызова метода Application.Restart() форма закрывается, запускается новая, но предыдущий процесс продолжает висеть. если просто закрыть приложение, и запустить в ручную, то всё нормально. я даже не знаю какой код приводить, т.к. догадок нет в чём причина может быть.
Добавлено через 18 минут
UPD: приложение закрывается только так
Программа не завершает свой процесс после закрытия
У меня имеется программа типо «Голосовой чат». Она работает так: в textBox1 вводишь ip компьютера.
Как создать процесс (MFC application *.exe) из c# Windows Service?
сервис создается, инсталлируется из запускается фактически кнопкой мыши, новый процесс создается.
Application.Restart() завершает приложение, но не открывает снова
итак, к сути. есть компьютер. на нём антивирус 360 Internet Security. при попытке перезапуска.
Не корректно работает Application.Restart();
Здравствуйте. У меня есть приложение, которое должно работать только из сети. Оно находится на.
имеешь ввиду MineMegaProject.vshost.exe остается висеть? Эт потому, что Application.Restart() закрывает текущее приложение (запущенное в контексте студии) и запускает обычный бинарник . например после такого рестарта ни один твой брейкпоинт не сработает . Почему не выгружается vshost — без понятия, но если тя это не волнует, то обычный бинарник будет нормально перезапускаться
UPD: . а, ну vshost вообще висит все время пока студия работает с проектом
нет, я имею ввиду когда запускаю программу не через дебагер, а из эксплорера. про vshost я знаю.
Добавлено через 5 минут
быть может это из-за того, что я перед инициализацией компонентов основной формы запускаю другую?
сейчас попробую выделить то что более менее может влиять на запуск и закрытие приложения (весь проект около 1500 строк не считая модулей).
Добавлено через 10 минут
Form1.cs
А приложение, которое перезапустилось, полнофункциональное? Подождать не пробовал, может через некоторые время выгрузится процесс? А если несколько раз вызвать рестарт, наплодится процессов или будет всегда два?
я щас работаю над проектом, у меня там фоновый поток использует стороннюю библиотеку, черт знает чего там делает, но повисает где-т на час и не отвечает ни на какие Abort’ы. Ща попробовал сделать вместо аборта — рестарт. Все как у тебя, проект перезагрузился, но процесс остался. Возможно у тебя какой-то поток система не может освободить.
Тематические курсы и обучение профессиям онлайн Профессия С#-разработчик (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Команда TASKKILL не завершает процесс
start «» «DisableLowLevelKeys2.exe» start «» /WAIT «sacred.exe» taskkill /f.
Завершая первый процесс, завершает второй
Завершая первый процесс, завершает второй Допустим есть программа test.exe если закрыть ей.
Работа с Excel, при закрытии не завершает процесс
суть проблемы такова: при закрытии формы в которой происходит работа с екселем, ругается на.