Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 27-08-2013
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
La forma en que lo estás haciendo es muy básica. Lamentablemente si la cámara no ofrece una API es muy díficil hacerlo de otra manera.

Windows normalmente no pinta las ventanas o regiones de venta que no son visibles al usuario. Esto es para ahorrar recursos. Es por eso que no puedes obtener la imagen si la ventana no está activa.

Existen varias alternativas que puedes probar. La más fácil es enviar el mensaje WM_PAINT al control del explorador con el handle de tu BMO dónde quieres la imágen. Pero esto no está garantizado que funcione. Depende de la implementación interna del mensaje WM_PAINT.

Otra alternativa es utilizar la API de Desktop Window Manager (DWM). Pero la solución solo funciona en Windows Vista y posterior cre que necesitas Aero activado. http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

Una solución más extraña y no estoy completamente seguro si funciona es utilizar los escritorios virtuales de Windows. Muchos desarrolladores desconocen que Windows ofrece escritorios virtuales. No tan potentes como los ofrecidos en los entornos Linux. Pero pueden ser suficientes para que obtengas una solución.

Lamentablemente los escritorios virtuales tienen muchas limitaciones de seguridad. No recuerdo todos los detalles porque fue hace un buen tiempo que trabajé con ellos.

En resumen, has la siguiente prueba.
Crea un escritorio virtual http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Crea tu venta o envíala al nuevo escritorio virtual. http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Talvez necesites crear dos ejectuables para implementar SetThreadDesktop. El segundo ejecutable se creará en el segundo escritorio, tomará una el ScreenShot y lo guardará.
Al final, no te olvides de cerrar el escritorio virtual. http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Saludos.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Formulario siempre visible juanchi Varios 4 02-11-2011 16:54:54
Tabsheet visible Paulao Varios 3 13-04-2009 15:36:19
Propiedad Visible en Pagecontrol JF Sebastian OOP 2 03-11-2007 13:31:21
no visible componente de imagen kapullok_2006 Gráficos 0 07-06-2007 11:08:30
Visible := true ramonibk Varios 5 15-07-2004 12:57:11


La franja horaria es GMT +2. Ahora son las 14:28:22.


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