• 27-02-2008, 13:05:59
    #1
    Arkadaşlar vbasicde system tray'a icon ekleme konusunda bilgisi veya kodu olan varsa burda paylaşırsa gerçekten çok makbule geçer şimdiden teşekkürler =)
  • 27-02-2008, 13:44:28
    #2
    ben 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