Duda existencial de aplicación de escritorio

litoss

Me reconcome una duda de creación de una aplicación que pueda contener dicha característica.
Lo primero nunca he creado una y por supuesto desconozco en gran mayoría toda esta parte de la programación.

Mi duda consiste en si se puede crear/implementar una aplicación de escritorio(en principio de windows, más que nada porque no tengo ni idea de aplicaciones linux/mac) que pueda estar "dinámicamente" (es la primera palabra que me viene a la cabeza) estar siempre ejecutándose y siendo posible su interacción con el escritorio.

Se que así es inentendible pero básicamente me refiero a algo tipo lo que implementa w8 con el menu de la derecha este:

Para los que no sepan que es/hace: http://youtu.be/8cqtsyGKMsY?t=10m43s

Entonces, existe alguna forma ya hecha de implementarlo o nadie en su sano juicio lo ha implementado jamas?

Amazon

#1 seguro que visual studio 2012 implementa un control para interaccionar con eso, así como para interaccionar con el menú de notificaciones de windows 7 existe un NotifyIcon, existirá algo así para eso.

1 respuesta
litoss

#2 el problema es que nose si tiene algun tipo de nombre especifico o algo porque no se como buscarlo por google ni nada.

1 respuesta
Amazon

#3 yo te digo suposiciones, nunca he trabajado con eso así que no sabría decirte cómo está hecho :<

C

#1 yo he hecho algo de eso que comentas pero hace mucho años (primeras versiones de .NET) y utilizando la API de Windows. No es difícil. Para el tema de la resolución hay funciones que te devuelven la resolución de la pantalla (GetDesktopWindows creo). Y para el tema de hacerla transparente tienes que usar SetLayeredWindowsAttributes. Con SetWindowsPos puedes hacer que la ventana siempre esté flotante. Y con esta misma creo que puedes quitarle el borde para que tu ventana sea lisa.

De todas formas, antes de abordar la solución con la API, miraría si actualmente el framework de .NET provee funciones envoltorio de la API que te hagan la vida más sencilla.

1 respuesta
zoeshadow

¿Pero a que te refieres exactamente, a hacer un menú que viva a la derecha de la pantalla y se muestre cuando se acerque el ratón?

1 respuesta
litoss

#5 A que te refieres con funciones envoltorio?

#6 Más que hacer un menu seria una aplicación en si, que no tuviera la típica ventana sino que estuviera ahí en ese lugar y se accediera a ella mediante el ratón sobre esa posición, tipo lo de windows, pero siendo una aplicación independiente de cualquier cosa. Busco saber si eso es posible y el como.

1 respuesta
C

#7 me refiero (quizá el término no es el más apropiado) a que el framework .NET da acceso a la API mediante el espacio de nombre: System.Runtime.InteropServices. Sin embargo, hay muchas funcionalidades de la API que están integradas en el entorno de desarrollo.

Por ejemplo, en VB6 tenías que subclasificar las ventanas mediante la API y funciones Callback. Técnicas que tenían mucho peligro a la hora de dejar colgada la aplicación. Sin embargo, .NET tiene incorporada esa funcionalidad en el IDE.

Lo mismo para lo que quieres hacer puedes evitar el uso directo de la API. Pero como te digo, no sé si las funciones de la API que tienes que usar para hacer lo que quieres las ha incorporado .NET (edit: me refiero a nivel del IDE, que siempre podrás acceder a ella usando el espacio de nombres que te he comentado arriba).

Desde luego, poder hacer lo que dices, se puede xD

Usuarios habituales

  • litoss
  • zoeshadow
  • Amazon