⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vncmenu.h

📁 teamviewer source code vc++
💻 H
字号:
//  Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved.
//
//  This file is part of TeamViewer.
//
//  TeamViewer is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation; either version 2 of the License, or
//  (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software
//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
//  USA.
//
//  If the source code for TeamViewer is not available from the place 
//  whence you received this file, check http://www.teamviewer.com
//  for information on obtaining it.


// vncMenu

// This class handles creation of a system-tray icon & menu

class vncMenu;
#pragma once
#if (!defined(_WINVNC_VNCMENU))
#define _WINVNC_VNCMENU

#include "..\..\vncviewer\VNCviewerApp32.h"
#include "vncServer.h"
#include "properties.h"
#include "vncAbout.h"
#include "vncListDlg.h"
#include "UpdateDialog.h"

// Constants
extern const UINT MENU_PROPERTIES_SHOW;
extern const UINT MENU_DEFAULT_PROPERTIES_SHOW;
extern const UINT MENU_ABOUTBOX_SHOW;
extern const UINT MENU_SERVICEHELPER_MSG;
extern const UINT MENU_ADD_CLIENT_MSG;
extern const char *MENU_CLASS_NAME;

	//FAST USER SWITCHINF TEST
typedef BOOL (WINAPI *WTSREGISTERSESSIONNOTIFICATION)(HWND, DWORD);
typedef BOOL (WINAPI *WTSUNREGISTERSESSIONNOTIFICATION)(HWND);
typedef BOOL (__stdcall *SetMenuInfoFn) (HMENU hmenu, LPCMENUINFO lpcmi);

#define WM_WTSSESSION_CHANGE            0x02B1
#define WTS_CONSOLE_CONNECT                0x1
#define WTS_CONSOLE_DISCONNECT             0x2
#define WTS_REMOTE_CONNECT                 0x3
#define WTS_REMOTE_DISCONNECT              0x4
#define WTS_SESSION_LOGON                  0x5
#define WTS_SESSION_LOGOFF                 0x6
#define WTS_SESSION_LOCK                   0x7
#define WTS_SESSION_UNLOCK                 0x8
#define WTS_SESSION_REMOTE_CONTROL         0x9
#define NOTIFY_FOR_THIS_SESSION     0

// the global vncMenu instance
extern vncMenu *menu;

// The tray menu class itself
class vncMenu
{
public:
	vncMenu(vncServer *server);
	~vncMenu();
	void Init();

	void ShowBalloonTip(char *title, char *msg, int timeoutmsecs, DWORD dwInfoFlags = NIIF_INFO);

	// Staudenmeyer@2005
	//void Close();
	HWND GetHWND();

	vncProperties	m_properties;  

	void Show(bool bVisible);

	// The server that this tray icon handles
	vncServer		*m_server;

	SetMenuInfoFn m_SetMenuInfo;

protected:
	// Tray icon handling
	void AddTrayIcon();
	void DelTrayIcon();
	void FlashTrayIcon(BOOL flash);
	void SendTrayMsg(DWORD msg, BOOL flash);

	// Message handler for the tray window
	static LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam);

	// Fields
protected:
	//static LRESULT CALLBACK ConnectCommandLine(LPVOID lpParameter);
	// Check that the password has been set
	void CheckPassword();
	void ShowContextMenu();
	void ShowContextMenu(POINT position);


	// About dialog for this server
	vncAbout		m_about;

#ifndef TINY
	// List of viewers
	vncListDlg		m_ListDlg;
#endif

	HWND			m_hwnd;
	HMENU			m_hmenu;

	NOTIFYICONDATA	m_nid;

	char			m_username[UNLEN+1];

	// The icon handles
	HICON			m_winvnc_icon;
	HICON			m_flash_icon;

	HINSTANCE   hWtsLib2;
	HINSTANCE   hUser32;
	BOOL bConnectSock;
	BOOL bAutoPort;
	UINT port_rfb;
	UINT port_http;
	BOOL ports_set;
	vncUpdate updateDialog;

	bool visible;
};


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -