Função retorna impressora instalada -compartilhada

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Função retorna impressora instalada -compartilhada

Mensagem por Mário Isa »

Gostaria de saber se existe alguma função que me dê a relação
das impressoras instaladas e qual é compartilhada e qual o nome do compartilhamento.
Obrigado.
Mário
:xau
Visitante

Mensagem por Visitante »

Mário...

A única forma que eu conheço de fazê-lo é através da PageScript (função PSGetPrinters), mas mesmo assim, a mesma não irá te dizer se a impressora é compartilhada ou não. Apenas irá te enviar um array contendo os nomes das impressoras instaladas no windows da máquina que está executando o sistema. Através do índice desse array vc consegue desviar a impressão para a impressora selecionada, seja ela LPTn (local ou rede) , USB (local ou rede), etc.

Um Clip Abraço
MARINI
Usuário Nível 3
Usuário Nível 3
Mensagens: 288
Registrado em: 06 Jul 2004 08:06
Localização: Pindamonhangaba SP

Mensagem por MARINI »

Você pode fazer uma função pra localizar as impressoras assim:

1) rode o NET VIEW usando o RUN ou SWPRUNCMD e direcionando o
LOG para um arquivo;
Leia o arquivo e trate os servidores para alguma string:
Exemplo da existencia de 2 maquinas na rede com os nomes abaixo:
xserv1:="\\MICRO1\"
xserv2:="\\MICRO2\"
2) ainda usando o RUN ou SWPRUNCMD execute o
NET PRINT (xserv1) direcionando o LOG para um arquivo
3) neste arquivo vc poderá ver o nome da impressora e compartilhamento
4) trate estas informaçoes na função
Sds
Marini
MARINI
Usuário Nível 3
Usuário Nível 3
Mensagens: 288
Registrado em: 06 Jul 2004 08:06
Localização: Pindamonhangaba SP

Mensagem por MARINI »

MARINI escreveu:Você pode fazer uma função pra localizar as impressoras assim:

1) rode o NET VIEW usando o RUN ou SWPRUNCMD e direcionando o
LOG para um arquivo;
Leia o arquivo e trate os servidores para alguma string:
Exemplo da existencia de 2 maquinas na rede com os nomes abaixo:
xserv1:="\\MICRO1"
xserv2:="\\MICRO2"
2) ainda usando o RUN ou SWPRUNCMD execute o
NET PRINT (xserv1) direcionando o LOG para um arquivo
3) neste arquivo vc poderá ver o nome da impressora e compartilhamento
4) trate estas informaçoes na função
5) repita a operação para as demais maquinas (xserv2....)
Sds
Marini
Responder