Programas DOS ainda são usados no mundo dos negócios. Conselhos sobre como fazê-los funcionar corretamente em uma plataforma de computação moderna são desenfreados na Web. Aqui está o que funcionou para mim.
O programa DOS de 16 bits com o qual precisamos trabalhar reside em um servidor Windows 2003 de 32 bits que será removido em breve. Até lá, um compartilhamento para o programa é mapeado em duas máquinas clientes de 32 bits do domínio principal com a Diretiva de Grupo. Um atalho para o arquivo .cmd que aciona o programa é colocado manualmente nos clientes, também no domínio primário. O programa é executado bem no Windows 8.1. Um pouco de compromisso para ter certeza, mas as máquinas serão atualizadas para o Windows 8.1 de 64 bits quando o programa DOS, que é executado a partir do domínio secundário, for retirado.
Imprimir a partir do programa apresenta o maior desafio. Duas impressoras paralelas diferentes são usadas com este programa, mas o programa imprime em uma única porta e não há nenhuma opção para alterar esse comportamento. Precisa imprimir um cheque na impressora a laser? Ele precisa ser anexado à porta LPT1. Precisa imprimir um despejo de dados na impressora matricial? Ele precisa ser anexado à porta LPT1 também. Duas pessoas trabalham com esse programa diariamente, então usaremos seus computadores, um para cada impressora. Vamos instalar a primeira impressora:
-
Se o computador tiver uma porta DB-25 (paralela) física, você poderá desativá-lo no BIOS. O Windows 8.1 não suportará isso e não precisamos disso.
-
Um adaptador Cables-to-Go modelo 16899 USB para DB25 é usado para conectar a impressora ao computador. O adaptador é instalado automaticamente e não é reconhecido como um dispositivo paralelo ou porta LPT.
-
Agora, abra Dispositivos e Impressoras. Clique em Adicionar impressora e selecione A impressora desejada não está listada. Na próxima caixa de diálogo, escolha Adicionar uma impressora local ou impressora de rede com configurações manuais e, na próxima caixa de diálogo, Usar uma porta existente. Selecione uma porta de impressora virtual para USB, USB001 ou USB002, na lista e não as opções de porta LPT.
-
A primeira impressora é uma impressora matricial multifunções Panasonic KX-P1191. A impressora não está listada na caixa de diálogo que solicita um driver e atualizar a lista clicando em Windows Update não ajuda. Uma verificação do site de suporte da Panasonic indica que a impressora não é suportada neste momento, mas um especialista em suporte técnico da Panasonic ajudou a decifrar o caminho que levou ao driver Epson FX Series 1 (80) incluído no Windows 8.1. Funciona perfeitamente.
Agora a impressora está instalada. Mas está na porta USB001 e o programa só imprimirá na porta LPT1. A solução é relativamente direta e pode ser integrada diretamente no arquivo em lote usado para iniciar o programa. Vamos começar a velha escola e jogar um truque em nossa impressora: vamos compartilhá-lo e imprimir para LPT1 dessa maneira.
-
Clique com o botão direito na impressora e escolha Propriedades. Compartilhe a impressora, não a liste no diretório, crie um nome de compartilhamento curto apenas para uma boa medida e garanta que o usuário da máquina cliente esteja listado na área Grupo ou nome de usuário na guia Segurança.
-
As duas pessoas que irão imprimir para essas impressoras criam meu cheque de pagamento, então eu dei a elas direitos de administrador de domínio. Isso pode ter sido desnecessário. Ambos são usuários no domínio principal, mas não no secundário, e eu não quis perder tempo resolvendo o problema de permissões.
Agora modifique o arquivo em lote e use o comando net use bem documentado para implementar a solução de impressão:
@echo off
::delete the printer
net use lpt1 /delete
::add the printer
net use lpt1 \\COMPUTER\PRINTER /persistent:yes
::fire up the nasty ol' DOS program
<existing syntax used to start the program>
Onde COMPUTER é o nome do computador e PRINTER é o nome do compartilhamento da impressora. O procedimento funcionou igualmente bem em um segundo computador para a impressora HP LaserJet 1100 usando o driver "HP LaserJet 1100 (MS)" fornecido com o Windows 8.1.
- NOTAS -
Erro do sistema 5:
Certifique-se de que o usuário esteja listado na guia Segurança. "Todos" podem ser
removido. Os privilégios de administrador do domínio são necessários para o usuário? Provavelmente
não, se tudo estiver sendo executado em um domínio.
Erro do sistema 66:
Verifique sua sintaxe. Você provavelmente digitou errado o nome do computador,
a impressora, ou talvez perdeu o cólon? Apenas um cólon é necessário, por
a documentação da Microsoft. Vai adicionar um cólon desnecessário para
lpt1 [:] causa falha?
Tudo sobre net use:
link