Cómo utilizar iconos con el Windows 95/98/Millennium Edition barra de tareas área de notificación

Seleccione idioma Seleccione idioma
Id. de artículo: 149276 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Resumen

La API de Windows proporciona la capacidad para agregar, modificar y quitar iconos de la bandeja del sistema o área de notificación de barra de tareas, disponible en Windows 95, Windows 98, Windows Millennium Edition, Windows NT 4.0 y el shell de Windows 2000. Esta funcionalidad puede proporcionarse mediante sólo la función Shell_NotifyIcon que Shell32.dll exporta. Esta función de API también permite especificar una cadena de texto para la información sobre herramientas que se muestra cuando un usuario se detiene con el puntero del mouse (ratón) sobre el icono. El ejemplo de este artículo paso a paso crea un programa de Visual Basic que muestra cómo utilizar esta función de API.

La capacidad para realizar alguna acción si se hace clic en el icono en el área de notificación de barra de tareas depende de una función de devolución de llamada. Porque Visual Basic 4.0 no admite directamente las funciones de devolución de llamada, no hay ninguna forma para mostrar un formulario o ejecutar código utilizando únicamente Visual Basic 4.0. Esta funcionalidad se agregó en Visual Basic 5.0 (y posteriores) con la incorporación del operador AddressOf. Un número de opciones están disponible para los desarrolladores de Visual Basic 4.0 pueden proporcionar funciones de devolución de llamada, incluido el OCX de Blaster de mensajes, el OCX mencionado en el artículo de Microsoft Systems Journal que se indicó en la sección "Referencias" de este artículo o del servidor OLE de devolución de llamada que se detalla en libro de Bruce McKinney, Hardcore Visual Basic . Para obtener más información sobre cualquiera de estas opciones, consulte la sección "Referencias". Debido a estos productos no incluyen Visual Basic, soporte técnico de Microsoft no admite su uso.

Más información

En el ejemplo siguiente se crea un proyecto de Visual Basic de un formulario que muestra cómo utilizar la función Shell_NotifyIcon API.

Ejemplo paso a paso

  1. Inicie Visual Basic. Se creará Form1 de manera predeterminada.
  2. Cambie la propiedad del formulario icono al icono que debe mostrarse en el área de notificación de la barra de tareas.
  3. Dibuje tres CommandButtons hasta el formulario.
  4. Seleccione el módulo en el menú Insertar para agregar un módulo de código único al proyecto.
  5. Agregue el código siguiente, que consta de función, tipo y declaraciones de constante a Module1:
          Type NOTIFYICONDATA
              cbSize As Long
              hWnd As Long
              uID As Long
              uFlags As Long
              uCallbackMessage As Long
              hIcon As Long
              szTip As String * 64
          End Type
    
          Global Const NIM_ADD = 0
          Global Const NIM_MODIFY = 1
          Global Const NIM_DELETE = 2
          Global Const NIF_MESSAGE = 1
          Global Const NIF_ICON = 2
          Global Const NIF_TIP = 4
    
          Declare Function Shell_NotifyIconA Lib "SHELL32" _
          (ByVal dwMessage As Long,  lpData As NOTIFYICONDATA) As Integer
    					
  6. El código siguiente es una función que toma los parámetros que deben establecerse para el tipo NOTIFYICONDATA y devuelve una variable de este tipo. Agregue a Form1:
          Private Function setNOTIFYICONDATA(hWnd As Long, ID As Long, _
              Flags As Long, CallbackMessage As Long, Icon As Long, _
              Tip As String) As NOTIFYICONDATA
    
              Dim nidTemp As NOTIFYICONDATA
    
              nidTemp.cbSize = Len(nidTemp)
              nidTemp.hWnd = hWnd
              nidTemp.uID = ID
              nidTemp.uFlags = Flags
              nidTemp.uCallbackMessage = CallbackMessage
              nidTemp.hIcon = Icon
              nidTemp.szTip = Tip & Chr$(0)
    
              setNOTIFYICONDATA = nidTemp
          End Function
    					
  7. Los tres procedimientos en este bloque de código llame a la función creada en el paso 5 para agregar, modificar y quitar iconos de barra de tareas área de notificación. Agregue también este código a Form1:
          Private Sub Command1_Click()
              'Add an icon.  This procedure uses the icon specified in
              'the Icon property of Form1. This can be modified as desired.
    
              Dim i As Integer
              Dim s As String
              Dim nid As NOTIFYICONDATA
    
              s = InputBox("Enter string:")
              nid = setNOTIFYICONDATA(hWnd:=Form1.hWnd, _
                                      ID:=vbNull, _
                                      Flags:=NIF_MESSAGE Or NIF_ICON _
                                      Or NIF_TIP, _
                                      CallbackMessage:=vbNull, _
                                      Icon:=Form1.Icon, _
                                      Tip:=s)
    
                 i = Shell_NotifyIconA(NIM_ADD, nid)
             End Sub
    
             Private Sub Command2_Click()
                 'Modify an existing icon. This procedure uses the icon
                 'specified in the Icon property of Form1. This can be modified
                 'as desired.
    
                 Dim i As Integer
                 Dim s As String
                 Dim nid As NOTIFYICONDATA
    
                 s = InputBox("Enter string:")
                 nid = setNOTIFYICONDATA(hWnd:=Form1.hWnd, _
                                         ID:=vbNull, _
                                         Flags:=NIF_MESSAGE Or NIF_ICON _
                                         Or NIF_TIP, _
                                         CallbackMessage:=vbNull, _
                                         Icon:=Form1.Icon, _
                                         Tip:=s)
    
                 i = Shell_NotifyIconA(NIM_MODIFY, nid)
             End Sub
    
             Private Sub Command3_Click()
                 'Delete an existing icon.
    
                 Dim i As Integer
                 Dim nid As NOTIFYICONDATA
    
              nid = setNOTIFYICONDATA(hWnd:=Form1.hWnd, _
                                      ID:=vbNull, _
                                      Flags:=NIF_MESSAGE Or NIF_ICON _
                                      Or NIF_TIP, _
                                      CallbackMessage:=vbNull, _
                                      Icon:=Form1.Icon, _
                                      Tip:="")
    
              i = Shell_NotifyIconA(NIM_DELETE, nid)
          End Sub
    					
  8. Presione la tecla F5 o seleccione Inicio en el menú Ejecutar para ejecutar la aplicación. Haga clic en el primer botón y escriba una cadena de texto para agregar un icono. Haga clic en el segundo botón para modificar un icono existente y la tercera para eliminar el icono.

Referencias

hardcore Visual Basic , Bruce McKinney, Microsoft Press, 1995.

SDK de Microsoft Win32, Shell_NotifyIcon y NOTIFYICONDATA.

Microsoft Systems Journal, febrero de 1996, el programador de Visual, página 93.

Preguntas y diario, marzo de 1996, respuestas Visual Basic Programmer, página 136.

Para obtener información adicional, haga clic en el número de artículo siguiente para ver el artículo en Microsoft Knowledge Base:
162613Cómo manipular iconos en la bandeja del sistema con Visual Basic

Propiedades

Id. de artículo: 149276 - Última revisión: sábado, 22 de febrero de 2014 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Edición de aprendizaje
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Palabras clave: 
kbnosurvey kbarchive kbmt kbapi kbhowto KB149276 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 149276

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com