StartKill
14-05-2004, 17:43:02
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 :-)
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ú
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 :-)
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ú