Realizar programáticamente una captura de pantalla en un ejecutable de LabVIEW



Software Primario: LabVIEW Development Systems>>LabVIEW Full Development System
Versión de Software Primario: 1.0
Versión de Software Primario Corregido: N/A
Software Secundario: N/A

Problema:
Me gustaría tomar una captura de pantalla mientras se ejecuta mi aplicación en LabVIEW. ¿Cómo podría hacer esto si mi aplicación es un ejecutable de LabVIEW?

Solución:
LabVIEW dispone del método Clipboard.Get Image, el cual se utiliza para adquirir una imagen del portapapeles de Windows. Sin embargo, este método no es soportado en el entorno de LabVIEW run-time.

Con la intención de proveer una funcionalidad similar para VIs que serán eventualmente convertidos en archivos ejecutables, se puede utilizar .NET para acceder la imagen almacenada en el portapapeles. 

Utilizando el Call Library Function Node, LabVIEW puede acceder y ejecutar librerías compartidas (archivos DLL). En el siguiente ejemplo se utiliza el Call Library Function Node para acceder la librería user32.dll y llamar el botón keybd_event , el cual permite la simulación de presionar una tecla del teclado del computador. Simulando el botón de imprimir pantalla podemos acceder la imagen almacenada en el portapapeles utilizando el método de .NET, Clipboard GetImage. 

Los VI Snippets de abajo ilustran el proceso de guardar una captura de pantalla programáticamente. El VI se encuentra además adjunto a este articulo con el nombre de PrintScreen-LV2011.vi.