Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: randomcito en 16 Septiembre 2013, 20:53 pm



Título: [BATCH] Ejecutar si la impresora está imprimiendo?
Publicado por: randomcito en 16 Septiembre 2013, 20:53 pm
Hola a todos,
Es posible ejecutar un archivo .bat (automáticamente) si la impresora está imprimiendo? Cómo?
Gracias


Título: Re: [BATCH] Ejecutar si la impresora está imprimiendo?
Publicado por: Meine programmen en 16 Septiembre 2013, 21:11 pm
Tendria que estar el .bat comprando siempre si la impresora esta imprimiendo.


Título: Re: [BATCH] Ejecutar si la impresora está imprimiendo?
Publicado por: randomcito en 16 Septiembre 2013, 21:12 pm
Tendria que estar el .bat comprando siempre si la impresora esta imprimiendo.

Hola,
En mi caso no veo inconveniente en que lo esté comprobando siempre.
Pero la cuestión es, cómo se comprueba eso?
Gracias!


Título: Re: [BATCH] Ejecutar si la impresora está imprimiendo?
Publicado por: Meine programmen en 17 Septiembre 2013, 17:59 pm
Eso ya no te lo sabria decir, lo de la impresora, quizas comprobando el proceso o algo asi, no tengo mucha idea. Eso si, con el tema de comprobar siempre si la impresora esta imprimiendo, quizas deberias buscar otra manera, algun inconveniente habia si mal no recuerdo. Yo intente hacer un .bat que revisara constantemente el tiempo, y muchas veces me fallaba, quizas fuera por la manera en la que lo revisaba o algo, pero supongo que tampoco te saldra bien revisando constantemente.


Título: Re: [BATCH] Ejecutar si la impresora está imprimiendo?
Publicado por: Eleкtro en 17 Septiembre 2013, 18:29 pm
En el hipotético caso de que la impresora active algún servicio de forma automática justo antes de imprimir entonces sería una tarea sencilla de realizar, monitorizando el estado del servicio (Started/Stopped) filtrando la salida del comando SC con un scrpit Batch.

No me cuesta nada mostrarte un ejemplo, pero es que lo de que la impresora active por si mismo el servicio de cola de impresión u otros servicios de terceros es solo una hipótesis, así que no quiero codear en vano :P.

Puedes hacer una prueba, en el panel de servicios de Windows (services.msc) busca servicios instalados por tu software de impresora (si es que utilizas algun software de terceros) y detén esos servicios, además detén estos dos servicios:

· Cola de impresión
· Extensiones y notificaciones d eimpresora

Cuando los hayas detenido todos, intenta hacer una impresión, si no funciona, activa el servicio de "cola de impresión" (porque me parece que la impresora no puede activar el servicio de forma automática) y prueba con el resto de servicios detenidos.

En fín lo suyo es comprobar si alguno de los servicios se activa por si solo para realizar la impresión, con eso sería suficiente para codear el Batch.

Saludos!


Título: Ejecutar si la impresora está imprimiendo?
Publicado por: randomcito en 19 Septiembre 2013, 19:54 pm
Hola, he estado mirando pero no encuentro nada parecido.
Los servicios que están relacionados no se ejecutan automáticamente al imprimir  :-(

Simplemente tira error al imprimir hasta que reanudo el servicio

Lo que estoy intentando hacer es un script que te avise cada 7 días si no has imprimido algo, para que lo hagas y no se sequen los cartuchos de tinta.
Sólo me queda  la manera de averiguar si se ha imprimido algo (habría que resetear la cuenta atrás...)

Un saludo