Перезапустите диспетчер очереди печати в C#

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

При нажатии кнопки «Перезагрузка» программа выполняет следующий код.

Программа использует класс System.ServiceProcess.ServiceController, поэтому этот код упрощает работу, начиная с директивы using System.ServiceProcess. Чтобы использовать это пространство имен, добавьте System.ServiceProcess в ссылки на проект.

Когда вы нажимаете кнопку, код создает новый ServiceController для службы с именем «Spooler». Если спулер в настоящий момент не остановлен или ожидает остановки, код вызывает его Стоп, а затем ждет, пока спулер не остановится.

Теперь, когда спулер остановлен, код вызывает его метод Start и ждет, пока он не будет завершен.

Источник: http://csharphelper.com/blog/2016/01/restart-the-print-spooler-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *