Si queres evitar el uso del OCX podes usar el siguiente codigo.
En un modulo pones:
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, ByRef lpData As NOTIFYICONDATA) As Long
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
Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1 'Borrar si no se quiere animar la imagen
Public Const NIM_DELETE = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_RBUTTONUP = &H205
Dim IC As NOTIFYICONDATA
Public Sub Iconito(Tip As String, Foto As PictureBox)
IC.cbSize = Len(IC)
IC.hwnd = Foto.hwnd
IC.uID = 1&
IC.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
IC.uCallbackMessage = WM_LBUTTONDOWN
IC.hIcon = Foto.Picture
IC.szTip = Tip & Chr(0)
Shell_NotifyIcon NIM_ADD, IC
End Sub
Public Sub BorrarIconito()
Shell_NotifyIcon NIM_DELETE, IC
End Sub
Y en el evento
MouseDown de un PictureBox (que contiene la imagen que va a aparecer en la barra de tareas) pones:
NOTA: La imagen tiene que ser .ICO
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim msg As Integer
msg = X / Screen.TwipsPerPixelX
If msg = WM_LBUTTONDBLCLK Then
MsgBox "Boton Izquierdo doble click."
ElseIf msg = WM_RBUTTONUP Then
MsgBox "Boton Derecho un click."
End If
End Sub
Para usarlo ponemos simplemente:
Iconito "Texto", Picture1
[/cide]
Y para quitarlo pones:
BorrarIconito
Es importante que al cerrar el programa se borre el icono ya que sino va a quedar visible (al pasar el mouse desaparece, pero es mejor borrarlo).
Espero que te sirva, saludos.-