Título: ¿Codigo VB? - Programar capturas de pantalla cada 10 minutos. Publicado por: Paniic en 18 Abril 2013, 22:14 pm Os comento mi problema.
Actualmente estoy trabajando en monitorización de Telefónica afortunadamente y allí se trabaja diariamente con Macros y programas en VB y aunque estoy empezando con este lenguaje tan sencillo necesito un programa para mi trabajo diario. Parte de nuestro trabajo se centra en observar cada poco tiempo el estado de los centros de Movistar. Para ello tenemos aplicaciones propietario que muestran en tiempo real el estado de cada centro. Actualmente uso una plantilla bastante extensa de excel para realizar los seguimientos de estos centros y el programa que os voy a proponer me salvaría diariamente. Necesito un programa (en VB) que realice una captura de pantalla cada 10 minutos de una ventana en concreto, que estará abierta todo el día, y lo guarde como un archivo .JPG en la ruta que yo le indique. No estaría de más indicar el área de pantalla que quiero capturar (con la orden "Call CaptureRectangle"). La captura necesitaría que fuera cada 10 minutos de 8:00 a 16:00 que es mi jornada de trabajo. ¿Alguien podría, muy amablemente, cederme dicho código? Como dije, estoy en el aprendizaje de VB así que con el código me valdría y luego ya me las apañaría para buscar cada orden y configurarlas. El problema está en que este proyecto termina en 2 meses y no vendría nada mal algo de ayuda para ganar mucho tiempo. Gracias por la atención al mensaje. Saludos. Título: Re: ¿Codigo VB? - Programar capturas de pantalla cada 10 minutos. Publicado por: x64core en 18 Abril 2013, 22:26 pm http://ambarhalim.blogspot.com/2013/03/source-code-auto-capture-screen-in.html
http://www.visualbasic.happycodings.com/code_snippets/code96.html Título: Re: ¿Codigo VB? - Programar capturas de pantalla cada 10 minutos. Publicado por: Paniic en 19 Abril 2013, 00:16 am http://ambarhalim.blogspot.com/2013/03/source-code-auto-capture-screen-in.html http://www.visualbasic.happycodings.com/code_snippets/code96.html Estupenda información x64Core, breve y justo lo que necesitaba. Ahora necesito solo un detalle mas. ¿Como puedo marca la ventana o pestaña que se va a capturar aunque esté minimizada o de fondo? ¿Es posible? Título: Re: ¿Codigo VB? - Programar capturas de pantalla cada 10 minutos. Publicado por: BlackZeroX en 19 Abril 2013, 04:44 am Es mejer hacerlo con GDI...
cuando este minimizada o de fondo también es posible... en este foro esta dicha API... aun así te dejo varios métodos para tomar una foto a la pantalla... es mejor GDI ya que así delimitas a que le quieres tomar la "Foto". http://www.codeproject.com/Articles/5051/Various-methods-for-capturing-the-screen Dulces Lunas!¡. Título: Re: ¿Codigo VB? - Programar capturas de pantalla cada 10 minutos. Publicado por: Paniic en 19 Abril 2013, 21:55 pm Es mejer hacerlo con GDI... cuando este minimizada o de fondo también es posible... en este foro esta dicha API... aun así te dejo varios métodos para tomar una foto a la pantalla... es mejor GDI ya que así delimitas a que le quieres tomar la "Foto". http://www.codeproject.com/Articles/5051/Various-methods-for-capturing-the-screen Dulces Lunas!¡. Le eché un ojo pero no encuentro como capturar estando una ventana minimizada. Es lo que realmente me está costando averiguar. Pero gracias por el enlace, para obtener muchos puntos de vista. ¿Sabrias alguna ayuda que pudiera servirme para saber por donde buscar las capturas minimizadas? Título: Re: ¿Codigo VB? - Programar capturas de pantalla cada 10 minutos. Publicado por: MCKSys Argentina en 20 Abril 2013, 00:18 am Le eché un ojo pero no encuentro como capturar estando una ventana minimizada. Con todos lo puedes hacer. El que te recomendaron es el primero: Capture it the GDI way. Título: Re: ¿Codigo VB? - Programar capturas de pantalla cada 10 minutos. Publicado por: x64core en 23 Abril 2013, 10:03 am Estupenda información x64Core, breve y justo lo que necesitaba. Ahora necesito solo un detalle mas. ¿Como puedo marca la ventana o pestaña que se va a capturar aunque esté minimizada o de fondo? ¿Es posible? Restaurar la ventana? función ShowWindow. Título: Re: ¿Codigo VB? - Programar capturas de pantalla cada 10 minutos. Publicado por: LeandroA en 24 Abril 2013, 05:53 am Hola, para aportar un poco, como te decian antes utilizando GDI, solo que no usaria BitBlt, o StretchBlt ya que estas no funcionarían si la ventana no esta visible osea detrás de otra, si esta minimizada no hay solución, si o si tienes que restaurarla como ya dijo x64Core (ShowWindow), entonces volviendo a la api para capturar la ventana te recomiendo PrintWindow
Código: Private Declare Function PrintWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal hdcBlt As Long, ByVal nFlags As Long) As Long para poder utilizarla tienes que tener el hwnd de la ventana lo puedes hacer con FindWindow (simpre y cuando esa ventana tenga un caption fijo) el segundo parametro de la api es el hdc donde quieres dibujarlo por ejemplo, si la quieres hacer facil utiliza un picturebox. y el tercer parametro con 0 esta bien. ----- Me tome un tiempo y te prepare algo que va a ser mejor que explicártelo. en un formulario pone este código y un command1 (osea un boton) Código
Título: Re: ¿Codigo VB? - Programar capturas de pantalla cada 10 minutos. Publicado por: Paniic en 26 Abril 2013, 18:25 pm Hola, para aportar un poco, como te decian antes utilizando GDI, solo que no usaria BitBlt, o StretchBlt ya que estas no funcionarían si la ventana no esta visible osea detrás de otra, si esta minimizada no hay solución, si o si tienes que restaurarla como ya dijo x64Core (ShowWindow), entonces volviendo a la api para capturar la ventana te recomiendo PrintWindow Código: Private Declare Function PrintWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal hdcBlt As Long, ByVal nFlags As Long) As Long para poder utilizarla tienes que tener el hwnd de la ventana lo puedes hacer con FindWindow (simpre y cuando esa ventana tenga un caption fijo) el segundo parametro de la api es el hdc donde quieres dibujarlo por ejemplo, si la quieres hacer facil utiliza un picturebox. y el tercer parametro con 0 esta bien. ----- Me tome un tiempo y te prepare algo que va a ser mejor que explicártelo. en un formulario pone este código y un command1 (osea un boton) WOW amigo, eso no es ayuda, eso es resolver la X. Muchas gracias Leandro. Estuve estos dias mirando lo de las GDI, por otro camino, con scripts y usando el link.open y link.close. y quizas estaba perdiendo el tiempo pues no obtenia resultados. Probare mañana por la mañana el codigo y lo configuraré tal como lo necesito pero por lo poco que veo ahora está resuelto, solo necesita funcionar, hacerlo correr y ya. Es una pena que en oculto no pero aun así puedo usar esta solución ya de forma definitiva. Insisto, gracias Leandro. |