Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-05-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Unhappy Capturando pantallas

Hola amigos.

Trabajo con Delphi 7.0 y Windows 98SE.

Baje una rutina de Trucomania(no me acuerdo bien) donde capuraba la toda la pantalla del windows.... tengo una aplicacion que graba las pantalla cada cierto tiempo en disco y la capturo en otra maquina.......

Pero me he dado con la soorpresa que cuando uno entra al DOS en pantalla completa no captura la pantalla.

Debo suponer que la rutina solo captura pantallas windows (alguna posicion segmento/desplazamiento en memoria)...

Aca el codigo :-)

Código:
procedure Pantalla(Socket:TCustomWinSocket; cFile:String);
var Escritorio: THandle;
    dc        : HDC;
    Bmp       : TBitmap;
    jpeg      : TJpegImage;
    //fhandle   : Integer;
    //Tamanno   : String;

begin
  try
     Escritorio := GetDeskTopWindow;
     dc         := GetDC( Escritorio );
     Bmp        := TBitmap.Create;
     Bmp.Width  := Screen.Width;
     Bmp.Height := Screen.Height;
     BitBlt( Bmp.Canvas.Handle , 0 , 0 , Screen.Width , Screen.Height , dc , 0 , 0 , SRCCOPY );
     Application.ProcessMessages;
     Jpeg := TJpegImage.Create;
     Jpeg.Assign( bmp );
     Jpeg.CompressionQuality := 30;
     Jpeg.Compress;
     Jpeg.SaveToFile( cFile );

     socket.sendtext('PANTALLA');

     Jpeg.Free;
     Bmp.Free;
     ReleaseDC( Escritorio , dc );
     Application.ProcessMessages;
     //FHandle := FileOpen(cFile, 0);
     //Tamanno := floattostr(getfilesize(FHandle,nil));
     //FileClose(FHandle);
     //socket.sendtext('PANTALLA ['+trim(tamanno)+']');
  except
  end;
end;
Si fueran tan amables de ayudarme a solucionar este problema estare muy agradecido.

Your friend,

StartKill
Lima-Perú
Responder Con Cita
  #2  
Antiguo 14-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Así es.. para traer la información de la pantalla de una consola no gráfica, puedes hacerlo con las funciones de Buffer de consola, te recomiendo buscar informacion sobre GetConsoleScreenBufferInfo.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 14-05-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Question

Hola, primero gracias por responder tan rapido... te comento que corte y pegue la funcion en el delphi y le hice el acostumbrado CTRL+F1 y para mi mala suerte no salio naa.

Por favor si fueran tan amables de darme un poco mas lineas.

Gracias

Your Friend

StratKill
Lima-Perú
Responder Con Cita
  #4  
Antiguo 14-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Es que esa función no es propia de Delphi, es una WinApi, puedes ver la ayuda desde el menú de Delphi \ Help \ Windows SDK

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:44:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi