Página 1 de 1
Impressora de rede
Enviado: 13 Out 2008 17:35
por DLZ
Ola pessoal..
Estava utilizando a função GetPrintrs do Xharbour para ler as impressoras intaladas no Windows..
Essa função retorna um Array com alguas informações, entre elas a Porta onde a impressora está instalada..
Poré, se eu tenho uma impressora de rede instalada no windows, essa função retorna LPT1 na porta e não retorna em lugar nenhum o endereço onde a impressora está instalada ( \\nome do computador ou ip\Nome do compartilhamento)
Existe alguma maneira de "pegar" essa infromação de impressoras de rede instaladas no windows ??
Re: Impressora de rede
Enviado: 13 Out 2008 17:51
por Maligno
Você não imprime usando o spool do Windows? Se for usá-lo, o nome da impressora basta.
Re: Impressora de rede
Enviado: 13 Out 2008 17:53
por Itamar M. Lins Jr.
Ola!
Eu uso assim, com hwgui e funciona que é uma beleza.
Código: Selecionar todos
aImpressoras := GetPrinters()
@ 385,065 say "Impressora:" Size 260,22
@ 460,060 get ComboBox oAi02 var vAi02 ITEMS aImpressoras TEXT Size 220,150
Inclusive retorna as impressoras da rede.
Não entendi direito, pq vc não pega o endereço completo \\xyz\abc.
Aqui aparece todas as impressoras que estão cadastradas na minha estação.
Saudações,
Itamar M. Lins Jr.
Re: Impressora de rede
Enviado: 14 Out 2008 09:46
por Eolo
A resposta da função GETPRINTERS() vai depender de onde ela está rodando. Se vc tem por exemplo os PCs Servidor e Usuario, em rede, e a impressora "HP DESKJET" conectada no PC Servidor e compartilhada:
a) se rodar a função no PC Servidor:
Código: Selecionar todos
? GETPRINTERS()
HP DESKJET
? GETPRINTERS(.T.)
HP DESKJET
USB001
LOCAL
HP DESKJET
b) se rodar a função no PC Usuario:
Código: Selecionar todos
? GETPRINTERS()
\\SERVIDOR\HP DESKJET
? GETPRINTERS(.T.)
\\SERVIDOR\HP DESKJET // aqui ela retorna o endereço completo
USB001
NETWORK
HP DESKJET
---------------------------
Nota de Moderação (Toledo): a mensagem foi editada para colocar a tag [ code ].
Veja mais detalhes: faq.php?mode=bbcode#f21
Re: Impressora de rede
Enviado: 14 Out 2008 09:47
por DLZ
Bom dia..
Acabei descobrindo a solução.. Com certeza isso vai parecer óbvio para os "Bruxos" aqui no fórum, mas para mim isso foi uma descoberta !! ehehehe
Analisando o manual do Xharbour, descobri a função PintFileRaw() que acabou atendendo a minha necessidade. Eu só tive que imprimir o relatório num texto primeiro e depois passar o texto para essa função ( nada demais ). A grande vantagem é que nessa função eu passo somente o nome da impressora instalada no windows, e era exatamente isso que eu estava a procura..
Obrigado a todos !!
Um abraço