Pues verán mi code falla, y supongo que es al registrar un ocx, lo copio a windows y lo registro con regsvr32, pero al ejecutarlo windows dice que se trata de una herramienta potencialmente peligrosa y no deja ejecutarla..... alguien sabe??
Salu2
Y de k .ocx se trata? Un .ocx es como se fuera un ejecutable, y se no es de confianza puede darte problemas...
Salu2
Systray.ocx, no sabía que me fuera a dar tantos problemas, hay otra forma de hacer que programa se minimice junto al reloj de windows? como tu Iceberg Tughack, que no tiene ocx... :huh:
Salu2
Claro, pudes hacerlo con la api shell_notifyicon.
CitarOption Explicit
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 Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
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
Public Const WM_MOUSEMOVE As Long = &H200
Public Const WM_LBUTTONDOWN As Long = &H201
Public Const WM_LBUTTONUP As Long = &H202
Public Const WM_LBUTTONDBLCLK As Long = &H203
Public Const WM_RBUTTONDOWN As Long = &H204
Public Const WM_RBUTTONUP As Long = &H205
Public Const WM_RBUTTONDBLCLK As Long = &H206
Private NID As NOTIFYICONDATA
Public Sub Add(ByVal MyForm As Form, Optional ByVal sToolTip As String)
On Error GoTo ErrHandler
With NID
.cbSize = Len(NID)
.hWnd = MyForm.hWnd
.uID = vbNull
.uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
.uCallbackMessage = WM_MOUSEMOVE
.hIcon = MyForm.Icon
If sToolTip <> vbNullString Then
.szTip = sToolTip & vbNullChar
End If
End With
Call Shell_NotifyIcon(NIM_ADD, NID)
Exit Sub
ErrHandler:
MsgBox "Could not add systray.", vbCritical, "Error"
End Sub
Public Sub Delete()
On Error GoTo ErrHandler
Call Shell_NotifyIcon(NIM_DELETE, NID)
Exit Sub
ErrHandler:
MsgBox "Could not delete systray.", vbCritical, "Error"
End Sub
Public Sub Modify(ByVal MyForm As Form, Optional ByVal sToolTip As String)
On Error GoTo ErrHandler
With NID
.cbSize = Len(NID)
.hWnd = MyForm.hWnd
.uID = vbNull
.uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
.uCallbackMessage = WM_MOUSEMOVE
.hIcon = MyForm.Icon
If sToolTip <> vbNullString Then
.szTip = sToolTip & vbNullChar
End If
End With
Call Shell_NotifyIcon(NIM_MODIFY, NID)
Exit Sub
ErrHandler:
MsgBox "Could not modify systray.", vbCritical, "Error"
End Sub
He echo otro modulo para cargar iconos 32-bit, se te hace falta pidemelo.
Salu2
Gracias, de momento es suficiente con eso, me estudiaré el codigo ;D
Salu2