3

Мне нужно установить поддельный / фиктивный принтер на окнах с помощью команды или командного файла.

Я смог установить фиктивный принтер с помощью мастера и выбрать порт NUL. Проблема в том, что мне нужно добавить фиктивный принтер автоматически, так что мастер не вариант.

В процессе поиска решения я обнаружил, что можно выполнить команду rundll32 printui.dll PrintUIEntry с параметром /il, чтобы установить принтер с помощью файла .inf .

Проблема заключается в создании файла .inf. Я прочитал некоторые документы и учебные пособия, но я до сих пор не знаю, что этот файл должен содержать. Есть идеи с этим?

Также я не уверен, что команда rundll32 printui.dll PrintUIEntry с пользовательским INF-файлом является правильным ответом, поэтому я слушаю.

2 ответа2

2
rundll32 printui.dll,PrintUIEntry /if /b "NUL Printer" /f "%systemroot%\inf\ntprint.inf" /r "nul:" /m "HP DesignJet 755CM/PS" /z

Обновление 1:

Постскриптум имя принтера XP/2003:

findstr /S ModelName %windir%\*.ppd
findstr /S ModelName %windir%\system32\spool\drivers\*.ppd
findstr /S ModelName %windir%\SysWOW64\*.ppd

Распакуйте файл driver.cab! Постскриптум имя принтера XP/2003:

findstr /S ModelName "%windir%\Driver Cache\amd64\driver\*.ppd" | more
@for /f "tokens=1,2,3,4 delims=:" %a in ('findstr /S ModelName "%windir%\Driver Cache\amd64\driver\*.ppd"') do @echo %d >>c:\prname.txt

инф:

findstr /S Class\=Printer %windir%\system32\DRVSTORE\*.inf
findstr /S Class\=Printer %windir%\inf\*.inf

Поиск имени принтера в XML и INI-файлов тоже.

Установите порт FILE: и распечатайте файл * .ps. Конвертировать .ps -> .pdf или просмотреть страницу печати в PS Viewer.

Я устанавливаю драйвер принтера HP Designjet Z6200ps 60in PS3 для печати большой страницы в формате pdf (ps-> pdf).

Максимальный размер страницы MS Office - 558,7х558,7 мм.

INF-файлы принтера

См. Также библиотеку MSDN в автономном режиме (компакт-диск ISO для Visual Studio), DDK, WDK, TechNet.

0

У меня были проблемы с получением принятого решения, работающего на нескольких версиях Windows, из-за наличия драйверов.

Драйвер «Generic / Text Only» присутствует во всех моих целевых ОС (Win7 Embedded и Win8.1), поэтому эта модификация сработала для меня:

rundll32 printui.dll,PrintUIEntry /if /b "Null Printer" /f "%systemroot%\inf\ntprint.inf" /r "nul:" /m "Generic / Text Only" /z

Используйте $ENV:systemroot вместо %systemroot% при вызове из PowerShell.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .