2010-03-03 1106 views
8

Quiero configurar mi aplicación para que esté en el nivel de escritorio, como los Gadgets de Windows. ¿Es esto posible de lograr?Enfrente de "siempre en la parte superior"

La cosa es que tengo una aplicación sin bordes que quiero ejecutar en el escritorio.

Intenté encontrar la opción, pero solo encontré "siempre en la parte superior", que es lo contrario de lo que quiero lograr.

+4

¿Hay alguna razón que no se puede escribir como un gadget ventanas – Richard

+2

no siempre en la parte superior;) – Younes

+2

Al diseñar un nuevo modelo de interfaz de usuario para su aplicación, se' Es muy probable que sus usuarios terminen odiando. "¿Por qué esa polla hizo que esta aplicación no tenga bordes? No puedo redimensionarla, es muy pequeña en mi pantalla de monstruos. ¡Qué idiota!" Lo mejor es encontrar un patrón de IU común (como un gadget, una aplicación basada en un icono de bandeja, un servicio de Windows, una tarea programada, una aplicación que se minimiza en la bandeja y muestra ventanas emergentes de notificación, etc.) que la gente GUSTA y usarlo – Will

Respuesta

0

Creo que no hay forma de hacerlo de la misma manera que siempre en la parte superior. ¿Quieres ejecutar tu aplicación bajo los iconos? la única forma de hacer una aplicación realmente en segundo plano es reemplazar explorer.exe, pero luego no verá iconos ni barra de tareas.

+0

sí, los gadgets pueden estar en la parte superior si así lo eliges como cualquier ventana. –

+0

Quiero que mi aplicación esté en el mismo nivel que los iconos de escritorio, no debajo de ellos. – Danijel

3

Escriba la aplicación para que se ejecute como un servicio en segundo plano, luego implemente un gadget de Windows real como interfaz;

6

La antigua buena SetWindowPos es compatible con HWND_BOTTOM para colocar su aplicación como la última en el pedido. Para usarlo en C# eche un vistazo a PInvoke.Net.

0

Puede implementar un gadget de Windows real utilizando WPF creando un XBAP. Simplemente agregue un archivo gadget.xml y un archivo .html que contenga solo un IFRAME que cargue el XBAP. De esa forma, su aplicación WPF será en realidad un gadget y seguirá automáticamente todas las reglas.

Otra opción es usar Windows Sidebar Styler. Esto requiere que se instale software adicional junto con el suyo, pero también le permite hacer cosas que no puede hacer dentro del entorno limitado XBAP sin certificados de firma de código, autorizaciones de usuarios, etc.

Una tercera opción es crear un gadget que use algo reconocible en el HTML (como un color de fondo particular), luego cuando se inicia su .exe, busque un hWnd en Explorer que tenga los atributos que está buscando, hágase usted mismo en el proceso Explorer.exe y configure su ventana como un niño de eso.

Una variación de la tercera opción es no inyectar en Explorer.exe, sino mantener su índice Z y su ubicación (usando SetWindowPos) para rastrear el índice Z y la ubicación del hWnd que encontró.

Así que muchas opciones ...

Cuestiones relacionadas