Falae. Thomas é o seguinte, é um pouco trabalhoso, mais vamu lá. Fazer as seguintes declarações :
Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Public 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 nid As NOTIFYICONDATA
Global Const NIM_ADD = &H0
Global Const NIM_MODIFY = &H1
Global Const NIM_DELETE = &H2
Global Const WM_MOUSEMOVE = &H200
Global Const NIF_MESSAGE = &H1
Global Const NIF_ICON = &H2
Global Const NIF_TIP = &H4
Global Const WM_LBUTTONDOWN = &H201
Criar as seguintes funções:
Sub IconAdiciona(sTitulo As String, objForm As Object)
nid.cbSize = Len(nid)
nid.hwnd = objForm.hwnd
nid.uId = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallBackMessage = WM_MOUSEMOVE
nid.hIcon = objForm.Icon
nid.szTip = sTitulo & vbNullChar
Shell_NotifyIcon NIM_ADD, nid
End Sub
Sub IconDeleta()
Shell_NotifyIcon NIM_DELETE, nid
End Sub
No Seu form colocar o seguintes códigos:
Private Sub Form_Resize()
If Me.WindowState = vbMinimized Then
Call IconAdiciona("Horimetro", Me)
Me.Hide
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Me.WindowState = vbMinimized Then
If Button = 1 Then
'Volta ao normal
Call IconDeleta
Me.WindowState = vbNormal
Me.Show
End If
End Sub
Ufaaaaa, isso deve funcionar, note que foi colocado o código para quando você minimiza o seu formulário ele ir para o SystemTray (Barra de Tarefas), mais você pode mudar para quando clicar em um botão por exemplo. []´s Felippe