Como utilizar ícones com a Windows 95/98/Me da barra de tarefas Área de notificação

Traduções de Artigos Traduções de Artigos
Artigo: 149276 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

A API do Windows fornece a capacidade para adicionar, modificar e remover ícones do tabuleiro do sistema ou da barra de tarefas Área de notificação, disponíveis no Windows 95, Windows 98, Windows Me, Windows NT 4.0 e do shell do Windows 2000. Esta funcionalidade pode ser fornecida utilizando apenas a função Shell_NotifyIcon que é exportada por Shell32.dll. Esta função de API também fornece a capacidade para especificar uma cadeia de texto para a descrição é apresentada quando um utilizador pára com o ponteiro do rato sobre o ícone. O exemplo passo a passo neste artigo cria um programa do Visual Basic que demonstra como utilizar esta função da API.

A capacidade de executar alguma acção se o ícone na área de notificação da barra de tarefas é clicado depende de uma função de chamada de retorno. Uma vez que 4.0 do Visual Basic não suporta funções de chamada de retorno directamente, não existe nenhuma forma de mostrar um formulário ou executar algum código a utilizar unicamente 4.0 do Visual Basic. Esta funcionalidade foi adicionada no Visual Basic 5.0 (e posteriores) com a adição do operador AddressOf. Um número de opções está disponível para programadores de Visual Basic 4.0 que podem fornecer a funcionalidade de chamada de retorno, incluindo a mensagem Blaster OCX, OCX mencionado no artigo no diário do Microsoft Systems indicado na secção "Referências" neste artigo ou OLE de chamada de retorno servidor que é detalhado no livro de Bruce McKinney, Hardcore Visual Basic . Para obter mais informações sobre qualquer uma destas opções, consulte a secção "Referências". Uma vez que estes produtos não inclui do Visual Basic, o suporte técnico da Microsoft não suporta respectiva utilização.

Mais Informação

O exemplo seguinte cria um projecto de Visual Basic de um formulário que mostra como utilizar a função de API Shell_NotifyIcon.

Exemplo passo a passo

  1. Inicie o Visual Basic. É criado o Form1 por predefinição.
  2. Altere a propriedade do formulário ícone para o ícone que deve ser apresentado na área de notificação da barra de tarefas.
  3. Desenhe três CommandButtons para o formulário.
  4. Seleccione módulo no menu Inserir para adicionar um módulo de código único de projecto.
  5. Adicione o código seguinte, composto por função, tipo e declarações constantes, 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. O código seguinte é uma função que utiliza os parâmetros que têm de ser definido para o tipo NOTIFYICONDATA e devolve uma variável deste tipo. Adicione ao 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. Os três procedimentos no bloco de código chamar a função criada no passo 5 para adicionar, modificar e remover ícones da área de notificação da barra de tarefas. Adicione este código também ao 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. Prima a tecla F5 ou seleccione Iniciar a partir do menu ' Executar ' para executar a aplicação. Clique no primeiro botão e introduza uma cadeia de texto para adicionar um ícone. Clique no segundo botão para modificar um ícone existente e o terceiro para eliminar o ícone.

Referências

hardcore Visual Basic , Bruce McKinney, Microsoft Press 1995.

SDK do Microsoft Win32, Shell_NotifyIcon e NOTIFYICONDATA.

Diário de sistemas do Microsoft, a página de Fevereiro de 1996, O Programador de Visual, 93.

P & diário, Março de 1996, r Visual Basic Programmer, página 136.

Para obter informações adicionais, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
162613Como manipular ícones no tabuleiro do sistema com o Visual Basic

Propriedades

Artigo: 149276 - Última revisão: 22 de fevereiro de 2014 - Revisão: 3.1
A informação contida neste artigo aplica-se 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 Learning Edition
  • 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
Palavras-chave: 
kbnosurvey kbarchive kbmt kbapi kbhowto KB149276 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 149276

Submeter comentários

 

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