Foros del Web » Programación para mayores de 30 ;) » .NET »

Como hago para que una aplicación se ejecute en el área de notificaciones de windows

Estas en el tema de Como hago para que una aplicación se ejecute en el área de notificaciones de windows en el foro de .NET en Foros del Web. Buenos días, La intensión es hacer desde vb.2005 que mi aplicación al momento de que se ejecute lo haga como un icono en el área ...
  #1 (permalink)  
Antiguo 06/11/2008, 09:03
 
Fecha de Ingreso: octubre-2008
Mensajes: 20
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Como hago para que una aplicación se ejecute en el área de notificaciones de windows

Buenos días,

La intensión es hacer desde vb.2005 que mi aplicación al momento de que se ejecute lo haga como un icono en el área de notificación de windows y al momento de terminar su ejecución permacer allí o deshabilitarse.


Muchas gracias por su ayuda
  #2 (permalink)  
Antiguo 06/11/2008, 15:21
 
Fecha de Ingreso: septiembre-2008
Mensajes: 68
Antigüedad: 15 años, 7 meses
Puntos: 0
Sonrisa Respuesta: Como hago para que una aplicación se ejecute en el área de notificaciones

Creo que a lo que quieres llegar es algo similar con el msn. Que si clikeas la "x" se cierre el formulario pero se su icono se quede abajo. Pues en realidad el formulario no se cierra sino se oculta. Si deseas que cuando el usuario le de cerrar se oculte coloca el siguiente método.

Código:
Dim ControlClose As Boolean = False

Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
            If Not ControlClose then
            e.Cancel = True
            me.hide()
            End If
End Sub
con esto lograrás que tu formulario se oculte pero el icono siga en la barra de tareas. Pero eso si, debes colocarle un boton en tu icono exclusivamente para cerrar mediante un "ContextMenu" y colocar esta secuencia

Código:
ControlClose = true
Me.Close()
La variable "ControlClose" es un atributo del programa o variable global como muchos los conocen, es importante para que controles las acciones de tu programa. Finalmente, si deseas que con doble click en el icono se vuelva a mostrar tu programa entonces llama al evento "DoubleClick" de tu NotifyIcon y le colocar un "Me.show" eso es todo. Espero que sea de tu ayuda porque por lo que entendí era un problema similar a ese y si no lo es lo puedes volver a explicar para buscar una solución.

Nota: Si deseas que el programa se inicie pero que no se muestre el formulario y solo el icono, en tu load colocale "Me.hide()"

ATTE RealTMegalix
  #3 (permalink)  
Antiguo 08/11/2008, 07:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 20
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Como hago para que una aplicación se ejecute en el área de notificaciones

Hola Megaligathor,

Muchisimas gracias por la ayuda, por ahi tambien me encontre oto ejemplito que puede complementar lo que tu me respondiste o puede ser otra manera de hacer lo mismo:



Se puede utilizar el NotifyIcon control. Este control es un componente invisible en tiempo de ejecución y que muestra un ícono en la tray bar. Su utilización es muy sencilla: basta con ubicarlo en el form y automáticamente ubica un ícono en la tray. Para que sea más funcional puede asignar un menú contextual en la propiedad ContextMenuStrip y reaccionar a diferentes eventos del form:


Cita:
Public Class Form1
Private Sub OpcionesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpcionesToolStripMenuItem.Click
MessageBox.Show("Opciones", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub

Private Sub RestaurarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RestaurarToolStripMenuItem.Click
Restaurar()
End Sub

Private Sub CerrarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CerrarToolStripMenuItem.Click
Application.Exit()
End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
NotifyIconCtl.Visible = False
End Sub

Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
If Me.WindowState = FormWindowState.Minimized Then Ocultar()
End Sub

Private Sub Restaurar()
Me.WindowState = FormWindowState.Normal
NotifyIconCtl.Visible = False
Me.ShowInTaskbar = True
Me.Show()
End Sub

Private Sub Ocultar()
NotifyIconCtl.Visible = True
Me.ShowInTaskbar = False
Me.Hide()
NotifyIconCtl.ShowBalloonTip(2000, Me.Text, Me.Text & " en la Try Icon!!!", ToolTipIcon.Info)
End Sub

Private Sub NotifyIconCtl_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIconCtl.MouseClick
If e.Button = Windows.Forms.MouseButtons.Left Then
NotifyIconCtl.ShowBalloonTip(5000, "Notify Icon Demo", "Tray Icon application enabled!!!", ToolTipIcon.Info)
End If
End Sub

End Class

nota: No se quien es el autor solo encontre un .doc y esto es lo mas relevante.


Muchas gracias de nuevo y hasta la proxima
  #4 (permalink)  
Antiguo 09/11/2008, 16:00
 
Fecha de Ingreso: septiembre-2008
Mensajes: 68
Antigüedad: 15 años, 7 meses
Puntos: 0
Sonrisa Respuesta: Como hago para que una aplicación se ejecute en el área de notificaciones

Emm es casi lo mismo de lo que te expliqué solo que ya suponia que ya sabias acerca del NotifYIcon y sus eventos solo faltaba que lo apliques. Bueno en fin estas pistas harán que tomes las mejores desiciones para la implementación de tu programa. Suerte =)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:16.