Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Redes
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2012
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Compartir Impresora en red con usuarios de un PC

Buenas,

mi problema es que tengo una impresora conectada a un PC y compartida. En el PC donde está conectada no hay ningún problema porque cualquier usuario que abra sesión puede imprimir por ella, pero tengo otros PCs donde he instalado la impresora a través de la red (compartida en otro equipo) y solo me aparece en la cuenta de usuario que la instaló, el resto de usuarios que entrar en el PC no pueden imprimir por ella porque no la tienen instalada.

He estado mirando por el foro y he encontrado este código:
Código Delphi [-]
var
    NetResource: TNetResource;
  begin
    NetResource.dwType       := RESOURCETYPE_DISK;
    NetResource.lpLocalName  := 'LPT3:';
    NetResource.lpRemoteName := '\\Servidor\Impresora';
    NetResource.lpProvider   := '';
    WNetAddConnection2(NetResource,
        '', {Clave o vacio /Password or empty}
        '', {Nombre del usurio o vacio/User name o vacio}
        CONNECT_UPDATE_PROFILE);

lo ejecuto con un usuario donde no está instalada pero no funciona.
¿Se puede hacer?
El Sistema operativo es XP.
Saludos
Responder Con Cita
  #2  
Antiguo 13-09-2012
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Hola.

¿No usas el objeto "Printer" para manejar las impresoras?
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 13-09-2012
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Hola,

no uso el printer porque solo quiero que quede instalada, aunque tampoco tengo muy claro si lo debería utilizar, este código lo he encontrado por el foro.


Saludos
Responder Con Cita
  #4  
Antiguo 14-09-2012
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Prueba a usar el objeto printer para recorrer las impresoras que hay a ver si la encuentras desde delphi.
__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 14-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Parsec.

Quizá también te podrian interesar estos enlaces:
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 15-09-2012
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Hola,

lo quiero hacer con código delphi, cuando un usuario se autentique en el PC (pertenece a un dominio y hay multitud de usuarios), que se instale la impresora compartida en red y cuando se apague el PC o cierre sesión que se desinstale.

O eso pretendo, no se si se podrá.

Saludos
Responder Con Cita
  #7  
Antiguo 29-09-2012
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Necesito ayuda

Hola a tod@s,

después de decenas de pruebas no consigo agregar una impresora en red, utilizo el siguiente código:
Código Delphi [-]
procedure TForm1.FormActivate(Sender: TObject);
var
  Err:Cardinal;
  Msg:string;
  NetResource: TNetResource;

  begin
    NetResource.dwType       := RESOURCETYPE_PRINT;
    NetResource.lpLocalName  := pchar('USB001:');
    NetResource.lpRemoteName := PCHAR('\\Mallory\CanonLBP2900');
    NetResource.lpProvider   := nil;
    Err:= WNetAddConnection2(NetResource,
        '', {Aquí pongo el PSW}
        '', {Aquí pongo el USR}
        CONNECT_UPDATE_PROFILE);
     if Err <> NO_ERROR then
  begin
      case Err of
      ERROR_ACCESS_DENIED             : Msg :='ERROR_ACCESS_DENIED             :';
      ERROR_ALREADY_ASSIGNED          : Msg :='ERROR_ALREADY_ASSIGNED          :';
      ERROR_BAD_DEV_TYPE              : Msg :='ERROR_BAD_DEV_TYPE              :';
      ERROR_BAD_DEVICE                : Msg :='ERROR_BAD_DEVICE                :';
      ERROR_BAD_NET_NAME              : Msg :='ERROR_BAD_NET_NAME              :';
      ERROR_BAD_PROFILE               : Msg :='ERROR_BAD_PROFILE               :';
      ERROR_BAD_PROVIDER              : Msg :='ERROR_BAD_PROVIDER              :';
      ERROR_BUSY                      : Msg :='ERROR_BUSY                      :';
      ERROR_CANCELLED                 : Msg :='ERROR_CANCELLED                 :';
      ERROR_CANNOT_OPEN_PROFILE       : Msg :='ERROR_CANNOT_OPEN_PROFILE       :';
      ERROR_DEVICE_ALREADY_REMEMBERED : Msg :='ERROR_DEVICE_ALREADY_REMEMBERED :';
      ERROR_EXTENDED_ERROR            : Msg :='ERROR_EXTENDED_ERROR            :';
      ERROR_INVALID_PASSWORD          : Msg :='ERROR_INVALID_PASSWORD          :';
      ERROR_NO_NET_OR_BAD_PATH        : Msg :='ERROR_NO_NET_OR_BAD_PATH        :';
      ERROR_NO_NETWORK                : Msg :='ERROR_NO_NETWORK                :';
      ERROR_NOT_CONNECTED             : Msg :='ERROR_NOT_CONNECTED             :';
      end;
      Raise Exception.create('Error al conectar la unidad '+ #10#13+Msg );
  end;

me sale el error : Error al conectar la unidad: ERROR_BAD_DEVICE

Si sustituyo está linea:

Código Delphi [-]
 NetResource.lpLocalName  := pchar('USB001:');
por esta otra:
Código Delphi [-]
 NetResource.lpLocalName  := pchar('COM3:');

me sale el error : Error al conectar la unidad
He buscado en el foro y no he encontrado ninguna solución y necesito agregar con delphi 7 una impresora en red.
Si lo hago manualmente, buscando en red el servidor y la impresora se agrega correctamente no entiendo porque no puedo hacerlo mediante código.

Saludos
Responder Con Cita
  #8  
Antiguo 04-10-2012
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
¿Quién me puede echar un cable?!!!!!.

Saludos
Responder Con Cita
  #9  
Antiguo 04-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código:
NetResource.lpLocalName  := pchar('USB001:');
NetResource.lpRemoteName := PCHAR('\\Mallory\CanonLBP2900');
¿Y eso existe y es correcto?
Responder Con Cita
  #10  
Antiguo 05-10-2012
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Hola Casimiro,

Cita:
NetResource.lpLocalName := pchar('USB001:');
NetResource.lpRemoteName := PCHAR('\\Mallory\CanonLBP2900');
El código lo he encontrado por el foro, a mi no me funciona, tampoco me da error de sintaxis (creo que estará bien formulado), pero no te puedo asegurar que sea el correcto.

Conoces algún método para agregar impresoras por código?, la idea es ejecutarlo cuando inician la sesión.
Se trata de un dominio y a cualquier PC puede entrar muchos usuarios.

Saludos
Responder Con Cita
  #11  
Antiguo 05-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Parsec.

No conocía el código en cuanto pueda lo voy a probar, pero así a simple vista, estoy seguro que a mi no me funcionaría, ya que la localización '\\Mallory\CanonLBP2900' no existe en mi red.

Así que aún a riesgo de preguntar una tontería: ¿ La cadena que asignas a NetResource.lpRemoteName, accede a la localización de la impresora de tu red ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 05-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No me queda muy claro:
- ¿Quieres usar una impresora compartida?
- ¿Quieres compartir una impresora que no está compartida?
Responder Con Cita
  #13  
Antiguo 05-10-2012
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Hola,

Ecfisa: Si esa es la ruta del equipo que tiene la impresora compartida.

Casimiro: La impresora está compartida en un PC, pero hay otros PCs donde la quiero agregar, el problema es que los PCs forman parte de un dominio y son muchos los usuarios que los utilizan, no puedo agregar la impresora en cada uno de los perfiles y para cada uno de los PCs, por lo que había pensado en hacer un programa que agregue la impresora compartida cuando el usuario inicie la sesión y que la elimine cuando deje la sesión.

Espero haberme explicado.

Saludos a tod@s
Responder Con Cita
  #14  
Antiguo 05-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Entonces entiendo que lo que quieres hacer es: usar una impresora de red.
Pues no recuerdo ahora mismo cómo es eso, a ver si buscando un poco doy con algo...
Responder Con Cita
  #15  
Antiguo 23-11-2012
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Hola a tod@s,

sigo muy interesado por el problema planteado en este hilo, si tenéis alguna solución os estaría muy agradecido.

Saludos
Responder Con Cita
  #16  
Antiguo 10-12-2013
alexzuko alexzuko is offline
Registrado
NULL
 
Registrado: dic 2013
Posts: 1
Poder: 0
alexzuko Va por buen camino
como instalar una impresora

HOLA

buenas tardes

yo estaba igual hasta que encontre esto http://ow.ly/rBOVb ( solo ponlo todo junto , tuve que separarlo por que todavia no puedo poner enlaces) lo cual me ayudo mucho paso a paso pude conectar y configurar mi impresora y otras que tenia

bueno espero y te funcione


saludos

Última edición por Casimiro Notevi fecha: 10-12-2013 a las 21:20:18.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
seleccion de impresora y letra de la impresora emeceuy Impresión 6 13-08-2017 14:11:05
Compartir impresora Kamael Windows 1 06-04-2011 13:09:10
compartir impresora por inalambrico anubis Windows 2 01-07-2008 15:40:59
Es posible compartir carpetas por Internet utilizando compartir carpetas? JuanErasmo Windows 5 12-02-2007 20:45:17
Compartir Impresora por Puerto Serie para Aplicación en DOS sarackganda Windows 0 26-09-2003 15:55:36


La franja horaria es GMT +2. Ahora son las 00:41:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi