Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   mostrar datos como fondo de escritorio (https://www.clubdelphi.com/foros/showthread.php?t=89928)

juank1971 04-03-2016 19:03:56

mostrar datos como fondo de escritorio
 
Saludos :
Como puedo hacer para mostrar datos , un grid o labels como si fuera fondo de escritorio de windows , se puede hacer??????

O sea quiero dar seguimiento a distintos procesos y que se muestren como si fueran fondo de escritorio y refrescando los datos pueda verser el resultado.

o sea mostrar informacion de una aplicacion en delphi en el escritorio y que se puedan poner los iconos del escritorio y ventanas encima de ella.

gracias

Osorio 04-03-2016 22:16:28

Una combinacion de un poco de esto:
http://www.clubdelphi.com/foros/showthread.php?t=5210


Lo de poner una imagen en el fondo de escritorio parece que lo vi en trucomania.org hace algunos años.

AzidRain 05-03-2016 03:45:49

El fondo de escritorio de windows es una vil imagen estática (hasta Win 8 que ya permite que se cambie estilo presentación). Es decir no hay forma de dibujar directamente en el escritorio que no sea actualizar la imagen mostrada por windows. No conozco al 100 la API de windows pero tendrías que buscar por ahí cual es la función que cambia el tapiz del escritorio. Una vez localizada, generar cada x tiempo una nueva imagen de lo que quieras mostrar y llamar a la función para que actualice la pantalla. Si es un proceso en tiempo real creo que no te va a servir porque no podrías estar actualizando el fondo cada milisegundo so pena de ralentizar todos los procesos. Suena bizarro pero al menos en windows así, es. En Linux si tendrías opción pues puedes modificar directamente lo que necesites del código que hace precisamente la actualización de pantalla.

Otra solución, poner una ventana sin bordes ni título y fijarla maximizada.

Neftali [Germán.Estévez] 07-03-2016 10:12:04

Creo que esta utilidad de SysInternals hace lo que necesitas (por lo que he entendido).
Échale un vistazo y te puede dar ideas de cómo puede quedar.

Creo que funciona de forma similar a como te han dicho. Parte de una imagen inicial (la des escritorio actual) y a esa le añade la información que desees. Luego es cuestión de ir refrescando eso cada X segundos. Eso sí, es obligatorio quedarse siempre con una copia del escritorio original.

Es bastante probable que con WMI puedas acceder a mucha información que necesitas (clase WIN32_desktop); Esta clase, por ejemplo, te da la ubicación del wallpaper actual para cada usuario.

juank1971 14-03-2016 19:40:42

ok gracias voy a mirar pero estaba tratando de hacerlo con una forma transparente y como se ven solamente los componentes que hay dentro de la forma pues creo que me funciona bien
de todas formas voy a revisar mas al detalle
gracias todos


La franja horaria es GMT +2. Ahora son las 11:26:43.

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