Pregunta: | 5440 - ESTADO DE LA IMRESORA EN NT |
Autor: | Alejandro Cepeda Pirela |
Tengo una aplicacion en VB6 que imprime directamente al puerto con Open "LPT1" For OutPut As #1, esto funciona perfectamente en NT. pero como puedo chequear si la impresora se encuentra en linea. |
Respuesta: | A. Z. |
Usa las funciones del archivo winspoll.drv tales como:
1.getprinter. el argumento de salida pPrinter es una tipo de estructura PRINTER_INFO_2, en donde hay un campo que se llama Status. Dicho campo maneja los siguientes valores: Const JOB_STATUS_PAUSED = &H1 Const JOB_STATUS_ERROR = &H2 Const JOB_STATUS_DELETING = &H4 Const JOB_STATUS_SPOOLING = &H8 Const JOB_STATUS_PRINTING = &H10 Const JOB_STATUS_OFFLINE = &H20 Const JOB_STATUS_PAPEROUT = &H40 Const JOB_STATUS_PRINTED = &H80 2.getjob Public Declare Function GetPrinter Lib \"winspool.drv\" Alias \"GetPrinterA\" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Any, ByVal cbBuf As Long, pcbNeeded As Long) As Long Public Declare Function GetJob Lib \"winspool.drv\" Alias \"GetJobA\" (ByVal hPrinter As Long, ByVal JobId As Long, ByVal Level As Long, pJob As Byte, ByVal cdBuf As Long, pcbNeeded As Long) As Long Si queres ejemplos, tenes que buscarlos en la RED. Espero que esto te sirva de Luz. |