Mettre un programme en tray icon

Misutsu Messages postés 29 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 5 janvier 2010 - 4 mars 2002 à 10:58
cyrilpradel Messages postés 12 Date d'inscription mercredi 19 juin 2002 Statut Membre Dernière intervention 12 décembre 2005 - 24 juin 2002 à 13:40
bonjour :)

Tout est dans le titre, j'aimerais connaître le secret magik qui permet de mettre son prog en veille dans les tray icon, et que même que quand on click une fois sur le try icon, POUF ! ça ouvre la fenêtre du log.

voili voilou

Misutsu

2 réponses

cs_CapCaverne Messages postés 12 Date d'inscription mercredi 6 février 2002 Statut Membre Dernière intervention 17 juin 2005
13 mars 2002 à 11:20
bon ben voila : la fonction Shell_notifyicon sert à ça :

'Download the full source+pictures+... at http://kpdteam.hypermart.net/download/tray.zip
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 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_RBUTTONUP = &H205

Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Dim TrayI As NOTIFYICONDATA
Private Sub Form_Load()
    TrayI.cbSize = Len(TrayI)
    'Set the window's handle (this will be used to hook the specified window)
    TrayI.hWnd = pichook.hWnd
    'Application-defined identifier of the taskbar icon
    TrayI.uId = 1&
    'Set the flags
    TrayI.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
    'Set the callback message
    TrayI.ucallbackMessage = WM_LBUTTONDOWN
    'Set the picture (must be an icon!)
    TrayI.hIcon = imgIcon(2).Picture
    'Set the tooltiptext
    TrayI.szTip = "Recent" & Chr$(0)
    'Create the icon
    Shell_NotifyIcon NIM_ADD, TrayI

    Me.Hide
End Sub
Private Sub Form_Unload(Cancel As Integer)
    'remove the icon
    TrayI.cbSize = Len(TrayI)
    TrayI.hWnd = pichook.hWnd
    TrayI.uId = 1&
    Shell_NotifyIcon NIM_DELETE, TrayI
    End
End Sub
Private Sub mnuPop_Click(Index As Integer)
    Select Case Index
        Case 0
            MsgBox "KPD-Team 1998" + Chr$(13) + "URL: http://www.allapi.net/" + Chr$(13) + "E-Mail: KPDTeam@Allapi.net", vbInformation + vbOKOnly
        Case 2
            Unload Me
    End Select
End Sub
Private Sub pichook_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Msg = X / Screen.TwipsPerPixelX
    If Msg = WM_LBUTTONDBLCLK Then
        'Left button double click
        mnuPop_Click 0
    ElseIf Msg = WM_RBUTTONUP Then
        'Right button click
        Me.PopupMenu mnuPopUp
    End If
End Sub
Private Sub Timer1_Timer()
    Static Tek As Integer
    'Animate the icon
    Me.Icon = imgIcon(Tek).Picture
    TrayI.hIcon = imgIcon(Tek).Picture
    Tek = Tek + 1    If Tek 3 Then Tek 0
    Shell_NotifyIcon NIM_MODIFY, TrayI
End Sub



Tout ça sur AllApi.net !!

voilou voili !

bonne chance pour la suite !
0
cyrilpradel Messages postés 12 Date d'inscription mercredi 19 juin 2002 Statut Membre Dernière intervention 12 décembre 2005
24 juin 2002 à 13:40
...mais incompréhensible pour les néophytes
A bon entendeur
Cyril
0
Rejoignez-nous