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.

[VISUAL BASIC 6.0]Criando um System Tray


ander
 Compartilhar

Posts Recomendados

[VISUAL BASIC 6.0]Criando um System Tray

 

 

• 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

post : Ander

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.