Colocando o ícone de sua aplicação VB na barra de tarefas do Windows


Para colocar o ícone de sua aplicação na barra de tarefas siga as etapas abaixo:

1- Inicie um novo projeto no VB e no formulário form1 insira um controle PictureBox com a propriedade visible definida como False.

2-Crie um menu com alguns itens ; na propriedade Icon do formulário atribua um ícone a sua aplicação. O formulário do projeto e mostrado a seguir:

3- A seguir copie e cole o código exibido a seguir no seu formulário.

A-) Seção General Declarations

Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA"
 (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Private 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

Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
Private Const NIF_DOALL = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_RBUTTONDOWN = &H204

B-) Código da função CriaIcone:

Public Sub CriaIcone()
 Dim Tic As NOTIFYICONDATA

 Tic.cbSize = Len(Tic)
 Tic.hwnd = Picture1.hwnd
 Tic.uID = 1&
 Tic.uFlags = NIF_DOALL
 Tic.uCallbackMessage = WM_MOUSEMOVE
 Tic.hIcon = Me.Icon
 Tic.szTip = "Olá , eu estou aqui ..." & vbNullChar
 erg = Shell_NotifyIcon(NIM_ADD, Tic)

End Sub

C-) Código da função ExcluiIcone:

Public Sub ExcluiIcone()

Dim Tic As NOTIFYICONDATA

 Tic.cbSize = Len(Tic)
 Tic.hwnd = Picture1.hwnd
 Tic.uID = 1&
 erg = Shell_NotifyIcon(NIM_DELETE, Tic)

End Sub

D-) Código do Evento Form_Load - Quando a aplicação é carregada a função CriaIcone é chamada ; esta função põe o ícone na barra de tarefas. Se você passar o mouse sobre o ícone o texto: "Olá, eu estou aqui" é exibido.

Private Sub Form_Load()
   CriaIcone
   Me.Hide
End Sub

E-) Código do Evento Form_Unload - Exclui o ícone da barra de tarefas usando a função D

Private Sub Form_Unload(Cancel As Integer)
  ExcluiIcone
End Sub

F-) Código que permite clicar duas vezes sobre o ícone e exibir o menu supenso da aplicação

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   X = X / Screen.TwipsPerPixelX
   'Clique duas vezes com o botão direito do mouse sobre o icone exibido
   If X = WM_RBUTTONDOWN Then
       Me.PopupMenu mnuarquivos
    End If
End Sub

G-) Código da opção Sair do Menu Suspenso:

Private Sub mnusair_Click()
  Unload Me
End Sub

E, é só.

Até a próxima dica...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti