Ver Mensaje Individual
  #1  
Antiguo 10-06-2011
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Reputación: 16
engranaje Va por buen camino
obtener nombre de impresora en sesion

Hola un saludo a todos, estoy teniendo problemas para obtener el nombre de una impresora que necesito para poder utilizar openprinter:
basicamente hago esto:

printer.GetPrinter(pDevice,
pDriver,
pPort,
hD);

para posteriormente

(OpenPrinter(PChar(Pdevice), hPrn, nil)

esto funciona correctamente en local pero cuando trabajo con impresoras en citrix o en terminal server el nombre en pdevice que obtengo es del tipo
"impresora in sesion winspool" cuando debería ser por ejemplo "impresora in sesion 1" y me da error. He probado a obenter el nombre de la impresora directamente de printers de este modo:

strpcopy(pDevice, printer.printers[printer.printerindex]);

pero el caso es que el nombre que obtengo en ese caso el de tipo "impresora in session 1 on puerto" y tampoco me sirve. Por supuesto puedo tratar la string pero entiendo que debe haber una manera de conseguir el nombre que necesito. ¿Teneis alguna idea?
Responder Con Cita