Page 1 of 1

Captura de pantalla

PostPosted: Sat Jan 17, 2009 10:59 pm
by JmGarcia
Quisiera hacer un capturador de pantalla (screen capture).

Lo primero que la aplicación este siempre "arriba" encima de todo hasta que se pulse uno se sus botones.

En PC para estar arriba (on top)tengo este codigo:
Code: Select all  Expand view
#define SWP_NOSIZE      1
#define SWP_NOMOVE      2
#define HWND_TOPMOST   -1
#define HWND_NOTOPMOST -2

SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOSIZE+SWP_NOMOVE)


Para no estar arriba (on top)
Code: Select all  Expand view
SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE+SWP_NOMOVE)


¿ Como seria para FWPPC ?

Y después como me capturo "toda" la pantalla.

Re: Captura de pantalla

PostPosted: Sun Jan 18, 2009 8:06 am
by Antonio Linares
JM,

No he probado este codigo, pero es el que usamos en FWH:
Code: Select all  Expand view
function Captura()

   local hBmp := WndBitmap( GetDesktopWindow() )
   local hDib := DibFromBitmap( hBmp )

   DibWrite( cBmpFile, hDib )
   GloBalFree( hDib )
   DeleteObject( hBmp )

return nil

Re: Captura de pantalla

PostPosted: Sun Jan 18, 2009 2:21 pm
by JmGarcia
¿ Y para que mi programa este siempre ON TOP ?
¿ Valdría el código de mi primer mensaje ?

Al complar me da este error:
Code: Select all  Expand view
error LNK2001: unresolved external symbol HB_FUN_GETDESKTOPWINDOW

Re: Captura de pantalla

PostPosted: Sun Jan 18, 2009 7:40 pm
by Antonio Linares
JM,

> ¿ Y para que mi programa este siempre ON TOP ?

Yo creo que Windows Mobile pone en "top" la aplicación activa, por lo que no se si podras tener una aplicación mostrándose por encima de la aplicación principal.

Usa este código para GetDesktopWindow()
Code: Select all  Expand view
#pragma BEGINDUMP

#include <hbapi.h>
#include <windows.h>

HB_FUNC( GETDESKTOPWINDOW )
{
   hb_retnl( ( LONG ) GetDesktopWindow() );
}

#pragma ENDDUMP

Re: Captura de pantalla

PostPosted: Sun Jan 18, 2009 8:47 pm
by JmGarcia
Me sale una escueta ventana diciendome "error 87"

El error es en DibFromBitmap

:roll:

Re: Captura de pantalla

PostPosted: Sun Jan 18, 2009 9:58 pm
by Antonio Linares
JM,

Te genera un fichero error.log ?

Puedes poner aqui la imagen del emulador con el error ? gracias