Как установить фиктивный принтер по команде?

2545
fsobral

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

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

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

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

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

3

2 ответа на вопрос

2
STTR
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 .

Это ** не ** ответ на оригинальный вопрос - ** Проблема заключается в создании INF-файла ** DavidPostill 9 лет назад 0
Это на самом деле сработало, единственное, что мне пришлось изменить, это драйвер принтера, потому что я использую Windows 8 и постоянно получаю ошибку 0x00000705. `rundll32 printui.dll, PrintUIEntry / if / b" NUL Printer "/ f"% systemroot% \ inf \ ntprint.inf "/ r" nul: "/ m" Драйвер класса Microsoft PS "/ z`. Теперь мне интересно, если есть драйвер принтера, который уже входит в Windows XP / 7/8 fsobral 9 лет назад 0
@fsobral Обновлено. STTR 9 лет назад 0
0
user1454265

I had trouble getting the accepted solution working on multiple versions of Windows, due to the drivers present.

The "Generic / Text Only" driver is present in all my target OS's (Win7 Embedded and Win8.1), so this modification worked for me:

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

Use $ENV:systemroot instead of %systemroot% if calling from PowerShell.