vbasic'de system tray icon ekleme ?
1
●815
- 27-02-2008, 13:44:28ben buldum arkadaşlar kodu =) direk kodu kod kısmına yapıstırın yeter
Private 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
Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const WM_MOUSEMOVE = &H200
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_RBUTTONDBLCLK = &H206
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Dim nid As NOTIFYICONDATA
Private Sub Command1_Click()
nid.cbSize = Len(nid)
nid.hWnd = Form1.hWnd
nid.uId = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallBackMessage = WM_MOUSEMOVE
nid.hIcon = Form1.Icon
nid.szTip = "Görev çubugunda görünür" & vbNullChar
Shell_NotifyIcon NIM_ADD, nid
Me.Visible = False
End Sub
Private Sub Form_Load()
YigitsMenu.Visible = False
Command1.Picture = Me.Icon
'Command1 Buttonumuza ICONumuzu atiyoruz.
End Sub
Private Sub Form_Terminate()
Shell_NotifyIcon NIM_DELETE, nid
' Her türlü hataya karsi burda da önlem almamiz gerekiyor..
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim msg As Long
msg = X / Screen.TwipsPerPixelX
Select Case msg
Case WM_LBUTTONDOWN
Case WM_LBUTTONUP
Case WM_LBUTTONDBLCLK 'sol tus çift klik
MenuGoster_Click
Case WM_RBUTTONDOWN 'sag tus basili
PopupMenu YigitsMenu, , , , MenuGoster
Case WM_RBUTTONUP 'sag tus basilip birakildi
Case WM_RBUTTONDBLCLK 'sag tus çift klik
End Select
End Sub
Private Sub Form_Unload(Cancel As Integer)
Shell_NotifyIcon NIM_DELETE, nid
'Formumuz kapandiginda Iconumuzu kaldiriyoruz...
End Sub
Private Sub MenuGoster_Click()
'Koydugumuz Menunun Iconken sol ok ile ortaya çikmasini
'sagliyoruz...
Me.Visible = True
Shell_NotifyIcon NIM_DELETE, nid
End Sub
Private Sub MenuKapat_Click()
'Burda da yine sol okla çikan menudeki Kapat buttonu...
Unload Me
End Sub