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 ??
Impressora de rede
Moderador: Moderadores
Re: Impressora de rede
Você não imprime usando o spool do Windows? Se for usá-lo, o nome da impressora basta.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: Impressora de rede
Ola!
Eu uso assim, com hwgui e funciona que é uma beleza.
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.
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
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.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Re: Impressora de rede
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:
b) se rodar a função no PC Usuario:
---------------------------
Nota de Moderação (Toledo): a mensagem foi editada para colocar a tag [ code ].
Veja mais detalhes: faq.php?mode=bbcode#f21
a) se rodar a função no PC Servidor:
Código: Selecionar todos
? GETPRINTERS()
HP DESKJET
? GETPRINTERS(.T.)
HP DESKJET
USB001
LOCAL
HP DESKJETCódigo: Selecionar todos
? GETPRINTERS()
\\SERVIDOR\HP DESKJET
? GETPRINTERS(.T.)
\\SERVIDOR\HP DESKJET // aqui ela retorna o endereço completo
USB001
NETWORK
HP DESKJETNota de Moderação (Toledo): a mensagem foi editada para colocar a tag [ code ].
Veja mais detalhes: faq.php?mode=bbcode#f21
-
DLZ
- Usuário Nível 3

- Mensagens: 184
- Registrado em: 09 Jun 2008 10:09
- Localização: Ibirubá - RS - Brasil
Re: Impressora de rede
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
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

