Capturar imágenes.

Iniciado por Vhant, 12 Marzo 2006, 19:11 PM

0 Miembros y 1 Visitante están viendo este tema.

Vhant

Antes de nada, buenas a todos y enhorabuena por este foro (sin él mi vida sería un poco más complicada)  :D


Mi duda es la siguiente:


Estoy programando una aplicación y una de sus carácterísticas es que captura la pantalla y la guarda como .bmp. Eso está claro, pero el problema reside en que cuando ejecuto el programa en un segundo plano (la ventana no está activa) pues me da un error y no me permite capturarla -cuando está en primer plano lo hace sin problemas-.

¿Que me sugerís para remediar este problema?.



Muchas gracias ;)



Pd.- Utilicé la opción buscar pero no me resolvió la duda. Se planteó una cuestión similar, pero sugerían sacar el programa de los límites de la pantalla, pero si ejecutamos otras aplicaciones estamos en la misma...  :-\

yovaninu

Haber si esto te ayuda:

    Me.Cls
    Me.AutoRedraw = True
    Me.ScaleMode = 1

    A = GetDesktopWindow()
    s = GetDC(A)
   
    BitBlt Me.hDC, 0, 0, Screen.Width, Screen.Height, s, 0, 0, vbSrcCopy
   
    'con esto Guardamos la imagen en BMP
    SavePicture Me.Image, "c:\imagen.bmp"
    If SetWindowPos(hwnd, -1, 0, 0, 0, 0, SWP_FLAGS) Then
    form1.WindowState = 2
    End If


y

A = GetDesktopWindow()
s = GetDC(A)

asumo que lo tienes en un modulo o algo parecido, ya que son APIS, es lo que yo uso para mi troyano, claro que despues lo comprimo a JPG, pero no es tu caso.

Un Saludo!