Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - TrayIcon
Forum - Visual Basic 6 - TrayIcon

Avatar
alebird (Normal User)
Pro


Messaggi: 67
Iscritto: 05/10/2007

Segnala al moderatore
Postato alle 14:26
Martedė, 15/07/2008
raga prima di postare su pierotofy.it ho cercato tra i post e c'e gia un post : "trayicon" pero i codici che mostra per far diventare il programma un trayicon non mi funzionano.. forse voi mi potreste far capire meglio :asd:

PM Quote
Avatar
M@d_Hacker (Ex-Member)
Expert


Messaggi: 254
Iscritto: 25/02/2008

Segnala al moderatore
Postato alle 14:44
Martedė, 15/07/2008
In un modulo..

Codice sorgente - presumibilmente C++

  1. Option Explicit
  2. 'Costanti----------------------------------------------------------------------------------------------
  3. Private Const NIM_ADD = &H0                 'Aggiunge un'icona
  4. Private Const NIM_MODIFY = &H1              'Modifica un'icona
  5. Private Const NIM_DELETE = &H2              'Elimina un'icona
  6. Private Const NIF_MESSAGE = &H1             'Per modificare il membro uCallBackMessage
  7. Private Const NIF_ICON = &H2                'Per modificare l'icona
  8. Private Const NIF_TIP = &H4                 'Per modificare il testo del tooltip
  9. Private Const WM_MOUSEMOVE = &H200
  10. Private Const WM_LBUTTONDOWN = &H201        'Evento Click tasto sinistro
  11. Private Const WM_LBUTTONDBLCLK = &H203      'Doppio clic con il tasto sinistro
  12. Private Const WM_RBUTTONDOWN = &H204        'Evento Click tasto destro
  13. Private Const WM_RBUTTONDBLCLK = &H206      'Doppio clic con il tasto destro
  14. 'Tipi---------------------------------------------------------------------------------------------------
  15. Private Type NOTIFYICONDATA
  16.     cbSize As Long              ' dimensioni della struttura
  17.    hwnd As Long                ' handle della finestra padre
  18.     uId As Long                 ' utilizzato solo con pių icone associate alla medesima applicazione
  19.    uFlags As Long              ' Flag
  20.     uCallBackMessage As Long    ' gestore delle notifiche
  21.    hIcon As Long               ' handle dell'icona
  22.    szTip As String * 64        ' testo del tooltip
  23. End Type
  24. 'Dll---------------------------------------------------------------------------------------------------------------
  25. Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
  26. '******************************************************************************************************
  27. 'Variabili
  28. Dim Nid As NOTIFYICONDATA
  29. Dim IsBackGround As Boolean
  30.  
  31. Public Sub InitNotifyIcon(ByVal Frm As Form)
  32.    Nid.cbSize = Len(Nid)
  33.    Nid.hwnd = Frm.hwnd
  34.    Nid.uId = 0
  35.    Nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
  36.    Nid.uCallBackMessage = WM_MOUSEMOVE     'Messaggio di notifica inviato alla finestra
  37.     Nid.hIcon = Frm.Icon
  38.     Nid.szTip = Frm.Caption + vbNullChar
  39.     Shell_NotifyIcon NIM_ADD, Nid
  40. End Sub
  41.  
  42. Public Sub ChangeTooltipText(ByVal Text As String)
  43.     Nid.szTip = Text & vbNullChar
  44.     Shell_NotifyIcon NIM_MODIFY, Nid
  45. End Sub
  46.  
  47. Public Sub DestroyNotifyIcon()
  48.     Shell_NotifyIcon NIM_DELETE, Nid
  49. End Sub
  50.  
  51. Public Sub BackGround(ByVal Frm As Form)
  52.     IsBackGround = True
  53.     Call CloseWindow(Frm.hwnd)
  54.     Frm.Hide
  55. End Sub
  56.  
  57. Public Sub Handler(ByVal Frm As Form, ByVal X As Single)
  58.     'Da chiamare in MouseMove  Handler(oggetto form,coordinata x dell'evento MouseMove)
  59.     'NB: La scalemode del form deve essere settata in 1-Twip
  60.    If IsBackGround Then
  61.        Dim Msg As Long
  62.        Msg = Frm.ScaleX(X, Frm.ScaleMode, vbPixels)
  63.        Select Case Msg
  64.            Case WM_LBUTTONDOWN
  65.                '***
  66.             Case WM_LBUTTONDBLCLK
  67.                 IsBackGround = False
  68.                 Frm.WindowState = vbNormal
  69.                 Frm.Show
  70.             Case WM_RBUTTONDOWN
  71.                 '***
  72.            Case WM_RBUTTONDBLCLK
  73.                '***
  74.         End Select
  75.     End If
  76. End Sub



In un cmd..

Codice sorgente - presumibilmente Visual Basic 6

  1. Call BackGround(Me)


PM Quote