|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
   AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Autoit en español
Aplicaciones con Autoit - Juan Antonio Villalpando

-- Tutorial de iniciación a Autoit --

Volver al índice del tutorial

____________________________

46.- Capturar pantalla.

- Se creará una carpeta llamada "mis_capturas" en Biblioteca / Documentos del ordenador.

- Se realizarán 5 capturas automáticas de la pantalla actual y se guardarán en esa carpeta, el nombre de la imagen será la hora actual.

- El bucle For ... to ... Next realiza el código 5 veces.

- Cada vez que se capture una pantalla se mostrará su imagen.

- Beep (frecuencia, tiempo)

- Mediante HotKeySet cada vez que pulsemos la tecla {F2}, se realizará una captura de pantalla y se guardará en la carpeta "mis_capturas"

- Mediante la Tecla {Escape}, saldremos de la aplicación.

- Mientras la aplicación esté activa, saldrá un pequeño avisor ToolTip, en el vértice superior izquierdo de la pantalla.

- Las funciones de _ScreenCapture la encontramos en:

_ScreenCapture_Capture Captura la pantalla completa o una zona de la pantalla.
_ScreenCapture_CaptureWnd Captura una ventana que esté en la pantalla, identificada por su ID
_ScreenCapture_SaveImage Guarda la imagen capturada.
_ScreenCapture_SetBMPFormat Número de bits por pixel, por defecto 24.
_ScreenCapture_SetJPGQuality Grado de compresión en imágenes JPG.
_ScreenCapture_SetTIFColorDepth Profundidad de colore en TIFF.
_ScreenCapture_SetTIFCompression Grado de compresión en imágenes TIFF.

- En vez de capturar la pantalla completa, puede capturar una zona de la pantalla o una ventana identificada.

_____________________________________________________________________
- Código de captura de pantalla.

Capturar pantalla.
				   
#include <ScreenCapture.au3>
; Juan A. Villalpando - KIO4.COM

  HotKeySet("{F2}", "Realizar_captura")  ; Pulsar F2
  HotKeySet("{ESC}", "Salir")            ; Pulsar Escape

 If Not FileExists(@MyDocumentsDir & "\mis_capturas") Then
    MsgBox(0,"Creación de la carpeta","La carpeta mis_capturas no existe, la voy a crear.", 3) ; El mensaje está 3 segundos.
    DirCreate(@MyDocumentsDir & "\mis_capturas")
  EndIf

    ; Realiza 5 capturas.
    For $n = 1 to 5
    Realizar_captura() ; Llama a la función de Relizar_captura.

    ; Espera 10 segundos para la siguiente captura.
    Sleep(10000)
    Next

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
     Func Realizar_captura()
     $fecha =  @MDAY & "-" & @MON & "-" & @HOUR & "-" & @MIN & "-" & @SEC

    ; Captura la pantalla completa.
    $captura_pantalla = _ScreenCapture_Capture("")
    Beep(900,200)

    ; Guarda la imagen capturada en la carpeta de Documentos/mis_capturas, el nombre será la fecha-hora de hoy.
    _ScreenCapture_SaveImage(@MyDocumentsDir & "\mis_capturas\" & $fecha & ".jpg", $captura_pantalla)

    ; Muestra la imagen capturada.
    ShellExecute(@MyDocumentsDir & "\mis_capturas\" & $fecha & ".jpg")
    EndFunc

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    Func Salir()
    Exit 0
    EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    While 1 ; Bucle para que la aplicación siga activa hasta que pulsemos Esc.
    Sleep(100)
    ToolTip("F2: Capturar.        Esc: Salir", 10, 10) ; Mira el aviso en la esquina superior izquierda de la pantalla.
    WEnd

_____________________________________________________________________
- C
aptura de la ventana activa.

Capturar pantalla completa y ventana activa.
				   
#include <ScreenCapture.au3>
; Juan A. Villalpando - KIO4.COM

  HotKeySet("{F2}", "Realizar_captura")  ; Pulsar F2
  HotKeySet("{ESC}", "Salir")            ; Pulsar Escape
  HotKeySet("{F3}", "Ventana_activa")    ; Pulsar F3

  If Not FileExists(@MyDocumentsDir & "\mis_capturas") Then
    MsgBox(0,"Creación de la carpeta","La carpeta mis_capturas no existe, la voy a crear.", 3) ; El mensaje está 3 segundos.
    DirCreate(@MyDocumentsDir & "\mis_capturas")
  EndIf

    ; Realiza 5 capturas.
    For $n = 1 to 5
    Realizar_captura() ; Llama a la función de Relizar_captura.

    ; Espera 10 segundos para la siguiente captura.
    Sleep(10000)
    Next

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
     Func Realizar_captura()
     $fecha =  @MDAY & "-" & @MON & "-" & @HOUR & "-" & @MIN & "-" & @SEC

    ; Captura la pantalla completa.
    $captura_pantalla = _ScreenCapture_Capture("")
    Beep(900,200)

    ; Guarda la imagen capturada en la carpeta de Documentos/mis_capturas, el nombre será la fecha-hora de hoy.
    _ScreenCapture_SaveImage(@MyDocumentsDir & "\mis_capturas\" & $fecha & ".jpg", $captura_pantalla)

    ; Muestra la imagen capturada.
    ShellExecute(@MyDocumentsDir & "\mis_capturas\" & $fecha & ".jpg")
    EndFunc

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    Func Salir()
    Exit 0
    EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
     Func Ventana_activa()
     $fecha =  @MDAY & "-" & @MON & "-" & @HOUR & "-" & @MIN & "-" & @SEC
     $hwnd = WinGetHandle("[ACTIVE]") ; Identificador de la ventana activa.

    ; Captura la ventana activa y guardar.
    _ScreenCapture_CaptureWnd(@MyDocumentsDir & "\mis_capturas\" & $fecha & ".jpg", $hwnd)
    Beep(900,200)

   ; Muestra la imagen capturada.
    ShellExecute(@MyDocumentsDir & "\mis_capturas\" & $fecha & ".jpg")
    EndFunc

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    While 1 ; Bucle para que la aplicación siga activa hasta que pulsemos Esc.
    Sleep(100)
    ToolTip("F2: Capturar.  F3: Ventana.  Esc: Salir", 10, 10) ; Mira el aviso en la esquina superior izquierda de la pantalla.
    WEnd 

__________________________________________
- Comentarios.

- En el código de ventana activa fíjate que la dirección donde se guardará la imagen está dentro de la función.

- Además no hace falta utilizar una variable para guardar:

_ScreenCapture_CaptureWnd(@MyDocumentsDir & "\mis_capturas\" & $fecha & ".jpg", $hwnd)

- Para obtener el identificador de la ventana activa utilizamos:

$hwnd = WinGetHandle("[ACTIVE]") ; Identificador de la ventana activa.

- Para probar la captura de la ventana activa, saca la "Calculadora", la pones en primer plano y pulsa la tecla {F3}, se capturará solamente la ventana de la Calculadora.

__________________________________________
- Propuestas.

-_____

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información