Como instalar uma impressora fictícia por comando?

3

Eu preciso instalar uma impressora falsa / fictícia no Windows usando um comando ou um arquivo de lote.

Consegui instalar uma impressora fictícia usando o assistente e selecionando uma porta NUL. O problema é que eu preciso adicionar a impressora fictícia automaticamente, então o assistente não é uma opção.

Na minha busca por uma solução, descobri que é possível executar o rundll32 printui. Comando dll PrintUIEntry com o parâmetro / il para instalar uma impressora usando um arquivo .inf .

O problema é criar o arquivo .inf. Eu li alguns documentos e tutoriais, mas eu ainda não tenho idéia do que este arquivo deve conter. Alguma idéia com isso?

Além disso, não tenho certeza se o comando rundll32 printui.dll PrintUIEntry com um arquivo .inf personalizado é a resposta certa, por isso estou ouvindo.

    
por fsobral 29.09.2014 / 23:29

2 respostas

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

Atualização 1:

Nome da impressora Postscript XP / 2003:

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

Descompacte o driver.cab! Nome da impressora Postscript 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

inf:

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

Procure o nome da impressora nos arquivos xml e ini também.

Defina a porta FILE: e imprima o arquivo * .ps. Converter .ps - > .pdf ou visualize a página de impressão em PS Viewer .

Eu instalo o driver da impressora HP Designjet Z6200ps 60in PS3 para imprimir páginas grandes em pdf (ps- > pdf).

Tamanho da página do Max MS Office - 558,7x558,7 mm.

Arquivos INF da impressora

Veja também MSDN Library offline (CD ISO para Visual Studio), DDK, WDK , TechNet .

    
por 29.09.2014 / 23:48
0

Tive problemas em conseguir que a solução aceita funcionasse em várias versões do Windows, devido aos drivers presentes.

O driver "Generic / Text Only" está presente em todos os sistemas operacionais de destino (Win7 Embedded e Win8.1), portanto, essa modificação funcionou para mim:

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

Use $ENV:systemroot em vez de %systemroot% se estiver chamando do PowerShell.

    
por 14.01.2015 / 23:45