PDA

Visualizza la versione completa : [vb] ridurre programma sulla sistem tray


iscka
18-09-2002, 10:44
Come posso fare per ridurre ad icona un prg in VB non sulla classica barra ma sulla sistem tray? ...dove ci sono i computerini che indicano la connessione... per intenderci...

grazie raga!! :dhò:

vonkranz
18-09-2002, 12:34
cerca nel forum, si e' gia' discusso, e ci sono anche esempi di codice..;)
Ciao!

chipdb
18-09-2002, 13:22
Ho già risposto a questa domanda in un thread di tempo fa.
Comunque ecco il codice:
Dichiarazioni (da fare possibilmente in un modulo):




'Left-click constants.
Public Const WM_LBUTTONDBLCLK = &H203 'Double-click
Public Const WM_LBUTTONDOWN = &H201 'Button down
Public Const WM_LBUTTONUP = &H202 'Button up

'Right-click constants.
Public Const WM_RBUTTONDBLCLK = &H206 'Double-click
Public Const WM_RBUTTONDOWN = &H204 'Button down
Public Const WM_RBUTTONUP = &H205 'Button up


Public Const WM_MOUSEISMOVING = &H200 ' Mouse is moving
Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4

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 Declare Function Shell_NotifyIconA Lib "SHELL32" (ByVal dwMessage As Long, _
lpData As NOTIFYICONDATA) As Integer


X metterla:


nic.cbSize = Len(nic) ' Lunghezza della struttura NOTIFYICONDATA
nic.hIcon = Me.Icon ' l’icona del form
nic.hwnd = Me.hwnd ' l’handle del form
nic.uCallbackMessage = WM_MOUSEISMOVING '
nic.uFlags = NIF_MESSAGE + NIF_ICON + NIF_TIP 'Ho impostato tutti i parametri della struttura
nic.uID = 1 ' L’id della icona...
nic.szTip = "Ciao" 'TooltipText

Call Shell_NotifyIconA(NIM_ADD, nic)


Per toglierla:


nic.cbSize = Len(nic)
nic.hwnd = Form1.hwnd
nic.uFlags = NIF_ICON
nic.uID = 1
Call Shell_NotifyIconA(NIM_DELETE, nic)

Mi pare abbastanza no?

Bye :ciauz:

Loading