In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Captura de pantalla por monitor

Foro de Xailer profesional en español
Responder
avitalini
Mensajes: 143
Registrado: Mié Ene 07, 2015 6:31 pm

Captura de pantalla por monitor

Mensaje por avitalini »

Buen día, algo estoy haciendo mal en el foro, ya que creo se borró la actualización del posteo, así que edito el post original.

Tomé el codigo del ejemplo de barcode y lo modifiqué a mis necesidades, pero no funciona por Monitor tomado de SCREEN:aMonitors

Código: Seleccionar todo

function Captura()
   Local aMonitores
   Local oMonitor

   aMonitores := SCREEN:aMonitors

   for each oMonitor in aMonitores
      Procesode_Captura( oMonitor , oMonitor:nMonitor )
   next

return nil

Function Procesode_Captura( oMonitor , nMonitor )

   LOCAL hBitmap
   LOCAL aRect
   LOCAL oPict
   Local cNombre

   aRect := { 0 , 0 , oMonitor:nWidth , oMonitor:nHeight }

   hBitmap := XA_CaptureBitmap( oMonitor:Handle , aRect ) // <-- en Monitores no funciona

   oPict := TPicture():CreateIndirect( 1 , hBitmap )
   cNombre := "Monitor-" + ToString( nMonitor ) + "-"  + DToS( Date() ) + "-"+ StrTran( Time() , ":","")+".jpg"
   OutDebug( cNombre )
   oPict:Save( cNombre, 1 )
   oPict:End()

Return nil
avitalini
Mensajes: 143
Registrado: Mié Ene 07, 2015 6:31 pm

Re: Captura de pantalla por monitor

Mensaje por avitalini »

¡Solucionado!

Saludos y gracias a los que se tomaron el tiempo de leer el post.

Código: Seleccionar todo

   aRect    := { oMonitor:nLeft , 0 , oMonitor:nWidth + oMonitor:nLeft  , oMonitor:nHeight }
   hBitmap  := XA_CaptureBitmap(  GetDesktopWindow()    , aRect )
Responder