Fórum Monitorar Porta Paralela #262589
18/12/2004
0
Tipo, tudo o que for enviado para a porta paralela (lpt1), ser interceptado pelo meu programa e, através se for confirmada a operação, enviar para a porta ou não.
Se alguém puder me ajudar... Agradeço antecipadamente.
Thomaz_prg
Curtir tópico
+ 0Posts
19/12/2004
Thomaz_prg
Gostei + 0
20/12/2004
Massuda
Gostei + 0
21/12/2004
Thomaz_prg
Realmente não era o que eu queria. Encontrei um aplicativo (PRN2FILE)que faz mais ou menos o que quero, só que esse aplicativo é apenas para MS-Dos.
Alguém mais poderia me ajudar???
Gostei + 0
21/12/2004
Khundalini
Para fazer a mesma coisa em Win 9x/NT/2000/XP, seria necessário criar um driver VxD que se comunicaria com uma aplicação Delphi (ou feita em qualquer outra ferrametna) enviando informações à mesma sobre os dados que estão sendo enviados à porta da impressora.
Pq isso tem que ser feito assim? Pq o MS-DOS e as plataformas Windows de 32 bits possuem rígidas restrições quanto ao acesso a recursos do computador em baixo nível (Exemplos: acesso à portas de E/S, tratamento e interceptação de interrupções de hardware e software, acesso à dados através de endereçamentos de memória, etc.). Em resumo, o Delphi não possue subsídios para acessar tais recursos, em função de ser uma aplicação compilada sem esses privilégios de acesso.
Como toda aplicação compilada com Delphi possui um nível restrito de acesso aos recursos de mais baixo nível do computador, como os ilustrados anteriormente, se faz necessário escrever um driver VxD (em linguagem C/C++ ou Assembly), usando kits de desenvolvimento de drivers, disponibilizados pela MicroSoft, que auxiliam na criação de tais drivers.
E para escrever um driver desse tipo, é necessário conhecer (e muito) o modelo utilizado pela MicroSoft (WDM - Windows Driver Management) para escrita de drivers. Existem drivers para diversos tipos: drivers de kernel-mode, drivers de filtragem, etc. Cabe agora à você ir mais a fundo nessa sua pesquisa.
Mas, infelizmente, o Delphi ñ te permite fazer o que vc quer fazer. Só por meio de um driver, meu caro colega!
[]s
Rubem Rocha
Manaus, AM
Gostei + 0
21/12/2004
Dopi
Dá para fazer o Windows capturar toda a saida da Impressora para um arquivo, assim como o PRN2FILE faz...
Nas configurações de Impressora, em ´Imorimir na seguinte PORTA´ defina como :
FILE:
Isso irá pergutar o nome do arquivo a cada Impressao...
Se o nomo do arquivo é fixo... use: path+nome ex:
C:\TEMP\SAIDA.PRN
entretanto vc não poderá ´ler´ o conteudo do arquivo assim como no DOS, pois ele contem todos os comandos que seriam enviados para impressora.... Se a ideia for gerar um documento PDF, pode-se usar o PDFCreator, que age como uma Impressora
Gostei + 0
21/12/2004
Thomaz_prg
Valeu
Gostei + 0
22/12/2004
Dopi
Experimente copiar ele para a Impressora:
copy C:\TEMP\SAIDA.PRN LPT1 ou
copy C:\TEMP\SAIDA.PRN PRN
copy C:\TEMP\SAIDA.PRN \\SERVIDOR\@IMPRESS
Entretanto se a impressora for ´for Windows´ acredito que ela não aceite um Copy, pois ela não ´escuta´ nenhuma porta Paralela... somente o driver da impressora pode se comunicar com ela... nesse caso não sei como poderia ser feito :-(
Gostei + 0
23/12/2004
Thomaz_prg
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)