Existe uma maneira simples de fazer isso usando comandos padrão do Windows. O link de Lee Harrison mostra este comando, mas aqui está uma breve descrição. Comece tornando a impressora compartilhável (na guia Propriedades da impressora > Compartilhamento).
Agora, inicie um prompt de comando e digite:
NET USE COM1: //pc_name/printer_share_name /persistent:yes
Aqui, pc_name
é o nome do PC de compartilhamento e printer_share_name
é o nome do compartilhamento que você forneceu à impressora quando configurou o compartilhamento.
A partir de então, qualquer coisa que você enviar para a COM1 será redirecionada para a impressora.
No entanto, há uma ressalva - e ela se aplica independentemente do método usado para obter os dados para a impressora, o hardware ou o software:
Como seu programa só sabe sobre COM1, eu assumo que ele enviará texto simples para a impressora. Muitas impressoras somente USB NÃO entendem texto simples, e simplesmente o ignoram completamente. As impressoras que fazem isso são chamadas de impressoras baseadas em host , onde o mecanismo de gráficos do Windows converte a página em pontos no papel, em vez de permitir que a impressora faça a conversão. Eles são principalmente as impressoras de baixo custo, especialmente inkjets, mas também alguns lasers. As impressoras que entendem o texto precisam suportar um idioma chamado PCL5. As impressoras PCL6 normalmente também suportam PCL5, mas as impressoras PCL3 não.
Se você me disser seu modelo de impressora, posso verificar o idioma que ele suporta.