Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-10-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 23
StartKill Va por buen camino
Tenes razón, la combinacion de teclas funciona correctamente....

Pero lo que quiero es poder hacer esto desde código....

Para mas detalles:

1.-Hay una aplicación "servidor" el recibe ordenes de una aplicacion "cliente" (control-remoto)

2.-El "cliente" envia una orden al "servidor" indicando que capture solo la ventana activa para luego grabarla en un archivo gráfico.

3.-Como mencione antes, tengo la rutina para capturar todo el escritorio..., pero solo necesito la ventana activa.

//-------------------
Razon por la cual necesito hacerlo por codigo ya que no tendria acceso a la otra PC fisicamente para manipular el teclado.

A la espera de sus aportes, comentarios, regalos, maldiciones...

Your Friend,

StartKill
Lima-Perú
Responder Con Cita
  #2  
Antiguo 14-10-2004
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 22
keyboy Va por buen camino
¿Te sirve esto?


Código:
  (* Rutina para capturar la imaen de la ventana activa *)
  
  var
  	ActiveWnd: HWnd;
  	WinRect: TRect;
  	Bitmap: TBitmap;
  	Canvas: TCanvas;
  
  begin
  	{ Obtener ventana activa }
  	ActiveWnd := GetForegroundWindow();
  
  	{ Obtener dimensiones de la ventana activa }
  	GetWindowRect(ActiveWnd, WinRect);
  
  	{ Crear bitmap con las dimensiones de la ventana activa }
  	Bitmap := TBitmap.Create;
  	Bitmap.Width := WinRect.Right - WinRect.Left;
  	Bitmap.Height := WinRect.Bottom - WinRect.Top;
  
  	{ Obtener un canvas para la ventana activa }
  	Canvas := TCanvas.Create;
  	Canvas.Handle := GetWindowDc(ActiveWnd);
  
  	{ Copiar el canvas de la ventana activa al bitmap }
  	WinRect := Rect(0, 0, Bitmap.Width, Bitmap.Height);
  	Bitmap.Canvas.CopyRect(WinRect, Canvas, WinRect);
  
  	{ Guardar el bitmap en un archivo }
  	Bitmap.SaveToFile('window.bmp');
  
  	{ Liberar recursos }
  	Canvas.Free;
  	Bitmap.Free;
  end;
Bye
Responder Con Cita
  #3  
Antiguo 15-10-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 23
StartKill Va por buen camino
Thumbs up

Hola, keyboy--- gracias por este codigo funciono a la perfeccion.

jdangosto, si no habia forma de hacer en codigo estaba pensando en llenar el buffer de teclado con la combinacion de teclas que mecionabas, luego.....--gracias a ti tambien

Your friend,

StartKill
Lima-Perú

Nota: Señores moderadores, ayer respondi a este hilo---dando las gracias a keyboy jdangosto, pero veo que yo no he grabado bien o se han perdido datos en la pagina???
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 21:37:53.


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