VB6 : Minimize project ke system tray

Posted: February 23, 2010 in Visual Basic
Tags: , , , ,

Untuk membuat program sederhana dan meminimizenya ke sistem tray ikuti cara2 berikut :

yang dibutuhkan

  1. sebuah form – Form 1
  2. sebuah button – Command 1

yang harus dilakukan :

  • Kopikan kode ini ke Module

‘ Membuat ikon ke  System Tray
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 NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const WM_MOUSEMOVE = &H200
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const WM_LBUTTONDBLCLK = &H203 ‘Double-click
Public Const WM_LBUTTONDOWN = &H201 ‘Button down
Public Const WM_LBUTTONUP = &H202 ‘Button up
Public Const WM_RBUTTONDBLCLK = &H206 ‘Double-click
Public Const WM_RBUTTONDOWN = &H204 ‘Button down
Public Const WM_RBUTTONUP = &H205 ‘Button up

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

  • kopikan kode ini ke form

Dim nid As NOTIFYICONDATA ‘ trayicon variable

‘—————————
‘— command1 click —
‘—————————
Private Sub Command1_Click()
minimize_to_tray
End Sub

‘————————-
‘— buat tray icon —
‘————————-
Sub minimize_to_tray()
Me.Hide
nid.cbSize = Len(nid)
nid.hwnd = Me.hwnd
nid.uId = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallBackMessage = WM_MOUSEMOVE
nid.hIcon = Me.Icon ‘ the icon will be your Form1 project icon
nid.szTip = “blablabla text u want to show when mouse over tray iicon” & vbNullChar
Shell_NotifyIcon NIM_ADD, nid
End Sub

‘————————————————————
‘– Tray icon actions when mouse click on it, etc —
‘————————————————————
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim msg As Long
Dim sFilter As String
msg = x / Screen.TwipsPerPixelX
Select Case msg
Case WM_LBUTTONDOWN
Me.Show ‘ show form
Shell_NotifyIcon NIM_DELETE, nid ‘ del tray icon
Case WM_LBUTTONUP
Case WM_LBUTTONDBLCLK
Case WM_RBUTTONDOWN
Case WM_RBUTTONUP
Me.Show
Shell_NotifyIcon NIM_DELETE, nid
Case WM_RBUTTONDBLCLK
End Select
End Sub

‘————————————-
‘— form Actions On unload —
‘————————————-
Private Sub Form_Unload(Cancel As Integer)
Shell_NotifyIcon NIM_DELETE, nid ‘ del tray icon
end Sub

coba running program. jika anda ingin menggunakannya di program lain cobalah sesuaikan posisi penempatan kode sesuai dengan kebutuhan di setiap form-nya.

programming is fun!!!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s