Queridos amigos,
¿Hay alguna forma de que yo pueda comprobar si una impresora está fuera de línea o en línea
Recuerdos
Anser
anserkk wrote:Freinds,
Tengo información de la http://www.fivetechsoft.com/forums/view ... hp?t=11418 hilo
Pero sin éxito para obtener la OffLine / estado de conexión de red de una impresora matriz de puntos
Recuerdos
Anser
if Empty( oPrn:hDC )
HDCP:=GetPrintDefault( GetActiveWindow() )
nVert: = GetDeviceCaps(HDCP, 6)
nHorz: = GetDeviceCaps(HDCP, 4)
antolin wrote:Esto lo he sacado de un ost de este foro:
function IsPrint( QuePrinter )
LOCAL nStatus
DEFAULT QuePrinter := "LPT1:"
nStatus := PrnStatus( QuePrinter )
if nStatus < 1 ; return "Impressora OK"
elseif nStatus = 1 ; return "Impressora Pausada"
elseif nStatus = 2 ; return "Impressora com Erro"
elseif nStatus = 4 ; return "Impressora Deletando"
elseif nStatus = 8 ; return "Impressora em Modo Bandeja"
elseif nStatus = 16 ; return "Impressora Sem Papel"
elseif nStatus = 32 ; return "Impressora em Modo Manual"
elseif nStatus = 64 ; return "Impressora com Problema no Papel"
elseif nStatus = 128 ; return "Impressora OffLine"
elseif nStatus = 256 ; return "Impressora com IO Ativo"
elseif nStatus = 512 ; return "Impressora Ocupada"
elseif nStatus = 1024 ; return "Impressora Imprimindo"
elseif nStatus = 2048 ; return "Impressora Memoria Lotada"
elseif nStatus = 4096 ; return "Impressora Nao Instalada"
elseif nStatus = 8192 ; return "Impressora Aguardando"
elseif nStatus = 16384 ; return "Impressora Processando"
elseif nStatus = 32768 ; return "Impressora Inicializando"
elseif nStatus = 65536 ; return "Impressora em Atencao"
elseif nStatus = 131072 ; return "Impressora Toner Baixo"
elseif nStatus = 262144 ; return "Impressora Sem Toner"
elseif nStatus = 524288 ; return "Impressora PAGE_PUNT"
elseif nStatus = 1048576 ; return "Impressora Intervencao do Usuario"
elseif nStatus = 2097152 ; return "Impressora Sem Memoria"
elseif nStatus = 4194304 ; return "Impressora Tampa Aberta"
elseif nStatus = 8388608 ; return "Impressora Servidor Desconhecido"
elseif nStatus = 16777217 ; return "Impressora POWER_SAVE"
endif
Sino intenta con:
LOCAL hDCP := GetPrintDefault(GetActiveWindow())
si da 0 debería ser porque no hay ninguna impresora activa
Sino a lo mejor con:
LOCAL hDCP := GetPrintDefault(GetActiveWindow())
LOCAL nvert := GetDeviceCaps(hDCP,6) <------------- largo de pagina en mm
LOCAL nHorz := GetDeviceCaps(hDcp,4) <------------- ancho de pagiina en mm
Algún valor desproporcionado a lo mejor es porque la impresora no esta activa
Yo nunca lo he intentado. Si funciona, por favor, reseñalo aqui para que lo sepamos todos.
Espero que te sirva
Un saludo
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 67 guests