Para quem entende de Visual Basic 6

:arrow:gostava de saber como fazer para quando se fecha um programa ou se clica num "command" ele va para o system try e quando se clicar duas vezes ele abre de novo????
:003:
 
Boas,

Para isso poderás usar módulos ou ocx.

Em ambos os casos, basta ires ao google e pesquisar por "systray vb6", poderás também procurar no vbmania, e noutros sites de armazenamento de código.
 
Tens aqui um exemplo que funciona na perfeição


Public Declare Function Shell_NotifyIcon Lib _
"shell32.dll" Alias "Shell_NotifyIconA" _
(ByVal dwMessage As Long, 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 WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONDBLCLK = &H206

Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const NIM_MODIFY = &H1
Public Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_TIP = &H4

Public Enum Actions
TrayAdd = &H0
TrayModify = &H1
TrayDelete = &H2
End Enum

Public Sub SysTray(Action As Actions, Hwnd As _
Long, ToolTip As String, Icon As _
StdPicture)
Dim STray As NOTIFYICONDATA
STray.uID = vbNull
STray.uCallbackMessage = &H200
STray.Hwnd = Hwnd
STray.hIcon = Icon
STray.szTip = ToolTip & vbNullChar
STray.uFlags = NIF_MESSAGE Or NIF_ICON Or _
NIF_TIP
STray.cbSize = Len(STray)
Select Case Action
Case NIM_ADD
Call Shell_NotifyIcon(NIM_ADD, STray)
Case NIM_MODIFY
Call Shell_NotifyIcon(NIM_MODIFY, STray)
Case NIM_DELETE
Call Shell_NotifyIcon(NIM_DELETE, STray)
End Select
End Sub

'No Form, coloque o seguinte código:

Private Sub Form_Resize()
If Me.WindowState = 1 Then
Call SysTray(TrayAdd, Me.Hwnd, Me.Caption, _
Me.Icon)
End If
End Sub

Private Sub Form_MouseMove(Button As Integer, _
Shift As Integer, X As Single, Y As _
Single)
Dim Msg As Long
If (Button + Shift + Y) = 0 Then
Msg = X / Screen.TwipsPerPixelX
Select Case Msg
Case WM_LBUTTONDOWN
'Coloque aqui a rotina a ser executada
'quando ocorrer um clique com o botão
'esquerdo no icon do System Tray.
Case WM_LBUTTONDBLCLK
'Coloque aqui a rotina a ser executada
'quando ocorrer um duplo clique com o
'botão esquerdo no icon do System Tray.
'Neste exemplo, a janela será restaurada
'e o ícone retirado so System Tray.
Me.WindowState = 0
Call SysTray(TrayDelete, Me.Hwnd, _
Me.Caption, Me.Icon)
Me.SetFocus
Case WM_RBUTTONDOWN
'Coloque aqui a rotina a ser executada
'quando ocorrer um clique com o botão
'direito do rato no icon do System Tray.
Case WM_RBUTTONDBLCLK
'Coloque aqui a rotina a ser executada
'quando ocorrer um duplo clique com o
'botão direito do rato no icon do System
'Tray.
End Select
End If
'Se você precisar colocar algum outro código neste
'evento, pode coloca-lo aqui sem maiores problemas.
End Sub

Cumprimentos,
 
este código ja tinha visto mas k codigo escrevo quando diz o k fazer quando se clica duas vezes no icon
e outra se minimizares o programa ele fica minimizado e tanbem no system try eu keria so no system try

mesmo assim brg pelas respostam
 
Sem certezas ... na mesma função onde o colocas no tray, acrescenta um Me.Hide. Quando, pelo tray, chamas o programa, acrescenta um Me.Show.
 
Back
Topo