Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Criando Um System Tray


' SecreT ~*
 Compartilhar

Posts Recomendados

O que é System Tray

 

System Tray é deixar o programa do lado do relógio, como no botão hide

 

 

 

•Como fazer isso?

Calma, eu vou explicar.

 

Primeiro: Crie um módulo

 

Segundo: Coloque esse código no módulo

:

 

 

 

Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

 

Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) 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 VBGTray As NOTIFYICONDATA

 

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 Const WM_LBUTTONUP = &H202

 

Public Const WM_RBUTTONUP = &H205

 

Public Const WM_MOUSEMOVE = &H200

 

 

 

Terceiro: Coloque esse código no Form_MouseMove

 

 

 

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

 

Static lngMsg As Long

 

Static blnFlag As Boolean

 

Dim result As Long

 

lngMsg = X / Screen.TwipsPerPixelX

 

If blnFlag = False Then

 

blnFlag = True

 

Select Case lngMsg

 

Case WM_RBUTTONUP

 

result = SetForegroundWindow(Me.hwnd)

 

VBGTray.cbSize = Len(VBGTray)

 

VBGTray.hwnd = Me.hwnd

 

VBGTray.uId = vbNull

 

Call Shell_NotifyIcon(NIM_DELETE, VBGTray)

 

Me.WindowState = 0

 

Form1.Visible = True

 

Dim b As String

 

b = StrConv(LoadResData(101, "CUSTOM"), vbUnicode)

 

sndPlaySound b, Flags&

 

End Select

 

blnFlag = False

 

End If

 

End Sub

 

 

 

Quarto: Coloque este código no Form_Resize

 

 

 

Private Sub Form_Resize()

 

If Me.WindowState = 1 Then

 

Call GoSystemTray

 

End If

 

End Sub

 

 

 

Quinto: Coloque este código

 

 

Private Sub GoSystemTray()

 

VBGTray.cbSize = Len(VBGTray)

 

VBGTray.hwnd = Me.hwnd

 

VBGTray.uId = vbNull

 

VBGTray.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE

 

VBGTray.ucallbackMessage = WM_MOUSEMOVE

 

VBGTray.hIcon = Me.Icon

 

VBGTray.szTip = Me.Caption & vbNullChar

 

Call Shell_NotifyIcon(NIM_ADD, VBGTray)

 

App.TaskVisible = False

 

Me.Hide

 

End Sub

 

 

 

Sexto: Coloque isto no botão hide

 

 

 

Private Sub hide_Click()

 

Call GoSystemTray

 

End Sub

 

 

 

Créditos:

 

Daniel Prince

Tudo o que um sonho precisa para ser realizado é alguém

que acredite que ele possa ser realizado.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.