TrayIcon.h
上传用户:jstlsd
上传日期:2007-01-13
资源大小:186k
文件大小:2k
源码类别:

钩子与API截获

开发平台:

Visual C++

  1. //---------------------------------------------------------------------------
  2. //
  3. // TrayIcon.h
  4. //
  5. // SUBSYSTEM:   Hook system
  6. //
  7. // MODULE:      Hook server
  8. //
  9. // DESCRIPTION: This code has been based on the Paul DiLascia's sample
  10. //              Copyright 1996 Microsoft Systems Journal.
  11. // 
  12. //             
  13. // AUTHOR: Ivo Ivanov (ivopi@hotmail.com)
  14. // DATE: 2001 December v1.00
  15. //
  16. //---------------------------------------------------------------------------
  17. #ifndef _TRAYICON_H_
  18. #define _TRAYICON_H_
  19. //---------------------------------------------------------------------------
  20. //
  21. // CTrayIcon manages an icon in the Windows 9x/NT/2K system tray. 
  22. //
  23. //---------------------------------------------------------------------------
  24. class CTrayIcon : public CCmdTarget 
  25. {
  26. protected:
  27. DECLARE_DYNAMIC(CTrayIcon)
  28. NOTIFYICONDATA m_nid; // struct for Shell_NotifyIcon args
  29. public:
  30. CTrayIcon(UINT uID);
  31. ~CTrayIcon();
  32. // Call this to receive tray notifications
  33. void SetNotificationWnd(CWnd* pNotifyWnd, UINT uCbMsg);
  34. //
  35. // SetIcon functions. To remove icon, call SetIcon(0)
  36. //
  37. BOOL SetIcon(UINT uID); // main variant you want to use
  38. BOOL SetIcon(HICON hicon, char* lpTip);
  39. BOOL SetIcon(LPCTSTR lpResName, char* lpTip)
  40. return SetIcon(lpResName ? 
  41. AfxGetApp()->LoadIcon(lpResName) : NULL, lpTip); 
  42. }
  43. BOOL SetStandardIcon(LPCTSTR lpszIconName, char* lpTip)
  44. return SetIcon(::LoadIcon(NULL, lpszIconName), lpTip); 
  45. }
  46. virtual LRESULT OnTrayNotification(WPARAM uID, LPARAM lEvent);
  47. };
  48. #endif
  49. //----------------------------End of the file -------------------------------