• Viernes 8 de Noviembre de 2024, 20:57

Autor Tema:  Copiar Al Portapapel Una Impresión De Pantalla  (Leído 2065 veces)

Drache

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Copiar Al Portapapel Una Impresión De Pantalla
« en: Lunes 24 de Abril de 2006, 02:27 »
0
Quiero tomar impresiones de pantalla, tal como si lo hiciera con el boton PrtSc
pero de manera automática, a intervalos de tiempo.

Ya he intentado diferentes eventos y funciones pero sigue sin darme resultados.

por ejemplo:

Clipboard()->Assign(Image->Picture);

Esto es correcto, pero al querer asignarle el Screen, ahi no me funciona

Clipboard()->Assign(Screen);

O también...

Screen->CopyToClipboard();

O en los eventos de OnKeyPress

if (Key == VK_RETURN) Key =VK_SNAPSHOT;

Si alguien tiene idea de alguna función que pueda usar,  que me lo diga porfavor

saludos

Drache

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Copiar Al Portapapel Una Impresión De Pantalla
« Respuesta #1 en: Jueves 27 de Abril de 2006, 00:36 »
0
bueno, a estas alturas, este post ya tiene dias sin respuesta.

agradeceria si alguien puede aconsejarme, si el titulo no es descriptivo, o que más puedo hacer yo, para ayudar a que respondan mi duda.

bueno, no es un problema de programación en si, pero si alguien conoce una función que pueda utilizar, me vendria muy bien que me la compartan.

saludos

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Copiar Al Portapapel Una Impresión De Pantalla
« Respuesta #2 en: Martes 9 de Mayo de 2006, 22:37 »
0
Buenas, para guardar una "impresión" del escritorio en un jpg por ejemplo se hace de la siguiente manera:

Código: Text
  1.  
  2. HDC dc = GetDC(0);
  3. Graphics::TCanvas *ScreenCanvas = new Graphics::TCanvas;
  4. ScreenCanvas->Handle = dc;
  5.  
  6. TJPEGImage *JImage = new TJPEGImage;
  7. Image1->Picture->Bitmap->Width = Screen->Width;
  8. Image1->Picture->Bitmap->Height= Screen->Height;
  9. TRect rect = Rect(0,0,Screen->Width, Screen->Height);
  10. Image1->Picture->Bitmap->Canvas->CopyRect(rect,   ScreenCanvas, rect);
  11. JImage->Assign(Image1->Picture->Graphic);
  12. JImage->CompressionQuality = 19;
  13. JImage->Compress();
  14.  
  15. JImage->SaveToFile("cap.jpg");
  16.  

Cualquier duda ya empezaré a revisar nuevamente el foro más seguido. Saludos
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

Drache

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Copiar Al Portapapel Una Impresión De Pantalla
« Respuesta #3 en: Domingo 14 de Mayo de 2006, 17:58 »
0
uff gracias _Viktor ese codigo va de maravilla
ya estaba pensando que no lo iva a hacer nunca xD

y hasta con un jpg salvado en la carpeta del executable!!
valio la pena la espera  :smartass:

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Copiar Al Portapapel Una Impresión De Pantalla
« Respuesta #4 en: Lunes 15 de Mayo de 2006, 22:01 »
0
No hay problema... para eso estamos ;)
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]