Captura de pantalla

Captura de pantalla

Postby JmGarcia » Sat Jan 17, 2009 10:59 pm

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.
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: Captura de pantalla

Postby Antonio Linares » Sun Jan 18, 2009 8:06 am

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
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Captura de pantalla

Postby JmGarcia » Sun Jan 18, 2009 2:21 pm

¿ 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
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: Captura de pantalla

Postby Antonio Linares » Sun Jan 18, 2009 7:40 pm

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
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Captura de pantalla

Postby JmGarcia » Sun Jan 18, 2009 8:47 pm

Me sale una escueta ventana diciendome "error 87"

El error es en DibFromBitmap

:roll:
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: Captura de pantalla

Postby Antonio Linares » Sun Jan 18, 2009 9:58 pm

JM,

Te genera un fichero error.log ?

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Pocket PC

Who is online

Users browsing this forum: No registered users and 15 guests