Установка монитора порта виртуального принтера

StackOverflow https://stackoverflow.com/questions/9387426

Вопрос

У меня есть dll монитора порта, которую я устанавливаю, вызывая функцию AddMonitor диспетчера очереди печати.Но когда я хочу удалить этот монитор, функция DeleteMonitor возвращает код ошибки 3008 - «Указанный монитор печати в настоящее время используется».Как освободить DLL монитора?

родовое слово
Это было полезно?

Решение

Вы не сможете удалить монитор порта с помощью вызова DeleteMonitor, если один или несколько объектов принтера в настоящее время используют порт этого типа.

Это оставляет вам несколько вариантов:

  • Поменяйте порт всех затронутых принтеров на другой порт.(Лучше всего использовать что-то вроде LPT1: он всегда там).
  • Удалите все принтеры, использующие порт.
  • Остановите службу диспетчера очереди печати и удалите соответствующие записи из реестра (HKLM \ SYSTEM \ CurrentControlSet \ Control \ Print \ Monitors), а затем перезапустите диспетчер очереди печати.При этом затронутые принтеры останутся там, но их нельзя будет использовать.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top