home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / Voice_Lagg2118646272008.psc / VcProtectexample / Modules / modApi.bas next >
BASIC Source File  |  2008-06-21  |  1KB  |  53 lines

  1. Attribute VB_Name = "modApi"
  2. Option Explicit
  3.  
  4. Private Type NOTIFYICONDATA
  5.  cbSize As Long
  6.  hwnd As Long
  7.  uID As Long
  8.  uFlags As Long
  9.  uCallbackMessage As Long
  10.  hIcon As Long
  11.  szTip As String * 128
  12.  dwState As Long
  13.  dwStateMask As Long
  14.  szInfo As String * 256
  15.  uTimeout As Long
  16.  szInfoTitle As String * 64
  17.  dwInfoFlags As Long
  18. End Type
  19.  
  20. Private m_IconData As NOTIFYICONDATA
  21. Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
  22. Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
  23.  
  24. Public Sub AddTrayIcon(StrTIP As String, Frm As Form)
  25. On Error Resume Next
  26.  With m_IconData
  27. .cbSize = Len(m_IconData)
  28. .hwnd = Frm.hwnd
  29. .uID = vbNull
  30. .uFlags = &H2 Or &H10 Or &H1 Or &H4
  31. .uCallbackMessage = &H200
  32. .hIcon = Frm.Icon
  33. .szTip = StrTIP & vbNullChar
  34. .dwState = 0
  35. .dwStateMask = 0
  36. End With
  37. Shell_NotifyIcon &H0, m_IconData
  38. End Sub
  39.  
  40. Public Sub ModifyTrayIcon(StrTIP As String, PB As PictureBox)
  41. On Error Resume Next
  42. With m_IconData
  43. .hIcon = PB.Picture
  44. .szTip = StrTIP & vbNullChar
  45. End With
  46. Shell_NotifyIcon &H1, m_IconData
  47. End Sub
  48.  
  49. Public Sub DeleteTrayIcon()
  50. On Error Resume Next
  51. Shell_NotifyIcon &H2, m_IconData
  52. End Sub
  53.