vncMenu.h
上传用户:sbftbdw
上传日期:2007-01-03
资源大小:379k
文件大小:2k
源码类别:

远程控制编程

开发平台:

Visual C++

  1. //  Copyright (C) 1997, 1998 Olivetti & Oracle Research Laboratory
  2. //
  3. //  This file is part of the VNC system.
  4. //
  5. //  The VNC system is free software; you can redistribute it and/or modify
  6. //  it under the terms of the GNU General Public License as published by
  7. //  the Free Software Foundation; either version 2 of the License, or
  8. //  (at your option) any later version.
  9. //
  10. //  This program is distributed in the hope that it will be useful,
  11. //  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. //  GNU General Public License for more details.
  14. //
  15. //  You should have received a copy of the GNU General Public License
  16. //  along with this program; if not, write to the Free Software
  17. //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
  18. //  USA.
  19. //
  20. // If the source code for the VNC system is not available from the place 
  21. // whence you received this file, check http://www.orl.co.uk/vnc or contact
  22. // the authors on vnc@orl.co.uk for information on obtaining it.
  23. // vncMenu
  24. // This class handles creation of a system-tray icon & menu
  25. class vncMenu;
  26. #if (!defined(_WINVNC_VNCMENU))
  27. #define _WINVNC_VNCMENU
  28. #include "stdhdrs.h"
  29. #include <lmcons.h>
  30. #include "vncServer.h"
  31. #include "vncProperties.h"
  32. #include "vncAbout.h"
  33. // Constants
  34. extern const UINT MENU_PROPERTIES_SHOW;
  35. extern const UINT MENU_ABOUTBOX_SHOW;
  36. extern const char *MENU_CLASS_NAME;
  37. // The tray menu class itself
  38. class vncMenu
  39. {
  40. public:
  41. vncMenu(vncServer *server);
  42. ~vncMenu();
  43. protected:
  44. // Tray icon handling
  45. void AddTrayIcon();
  46. void DelTrayIcon();
  47. void FlashTrayIcon(BOOL flash);
  48. void SendTrayMsg(DWORD msg, BOOL flash);
  49. // Message handler for the tray window
  50. static LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam);
  51. // Fields
  52. protected:
  53. // Check that the password has been set
  54. void CheckPassword();
  55. // The server that this tray icon handles
  56. vncServer *m_server;
  57. // Properties object for this server
  58. vncProperties m_properties;
  59. // About dialog for this server
  60. vncAbout m_about;
  61. HWND m_hwnd;
  62. HMENU m_hmenu;
  63. NOTIFYICONDATA m_nid;
  64. char m_username[UNLEN+1];
  65. // The icon handles
  66. HICON m_winvnc_icon;
  67. HICON m_flash_icon;
  68. };
  69. #endif