Установка монитора порта виртуального принтера
Вопрос
У меня есть dll монитора порта, которую я устанавливаю, вызывая функцию AddMonitor диспетчера очереди печати.Но когда я хочу удалить этот монитор, функция DeleteMonitor возвращает код ошибки 3008 - «Указанный монитор печати в настоящее время используется».Как освободить DLL монитора?
родовое словоРешение
Вы не сможете удалить монитор порта с помощью вызова DeleteMonitor, если один или несколько объектов принтера в настоящее время используют порт этого типа.
Это оставляет вам несколько вариантов:
- Поменяйте порт всех затронутых принтеров на другой порт.(Лучше всего использовать что-то вроде LPT1: он всегда там).
- Удалите все принтеры, использующие порт.
- Остановите службу диспетчера очереди печати и удалите соответствующие записи из реестра (HKLM \ SYSTEM \ CurrentControlSet \ Control \ Print \ Monitors), а затем перезапустите диспетчер очереди печати.При этом затронутые принтеры останутся там, но их нельзя будет использовать.
Не связан с StackOverflow