亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? secretchatdlg.h

?? 經過測試確實可行
?? H
字號:
// SecretChatDlg.h : header file
//

#if !defined(AFX_SECRETCHATDLG_H__1047F9F5_CF01_483A_8822_470EF4A132CF__INCLUDED_)
#define AFX_SECRETCHATDLG_H__1047F9F5_CF01_483A_8822_470EF4A132CF__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CSecretChatDlg dialog
//托盤事件
#define MYWM_NOTIFYICON  WM_USER + 1
//運行時隱藏窗口消息	
#define WM_RUNHIDE ( WM_USER + 2)		

//監聽的端口號
#define LISTEN_PORT				2300
//應用程序版本號
#define APPLICATION_VERSION		1
//當前自己的通訊版本號
#define MESSAGE_VERSION			1
//密鑰文件版本號
#define SECRETKEY_VERSION		1
//一次發送的數據大小,msg.n			
#define SENDFILESIZE			1024

//接收的最大消息數目
#define MESSAGE_COUNT			4
/*1位表示被用著,0位表示可以用,如果全為0就代表完全空著,全為1就代表沒有空余
m_send_message_package_ID數組的索引和m_send_message_package_ID_index的位相對應,
總之有空閑的位就可以使用*/
DWORD	exponential(DWORD, DWORD a = 2);
void	bit_to_index(DWORD bit, DWORD &index, BOOL count);
DWORD	bit_to_index(DWORD bit, BOOL count);
int		get_bit_count(DWORD bit, BOOL count);
BOOL	get_bit(DWORD bit, DWORD index);
void	set_bit(DWORD &bit, DWORD index, BOOL count);


// CNoteTunnelDlg dialog
#include "RSA.h"
#include "__DWORD128.h"
#include "ListenSocket.h"
#include "BtnST.h"	// Added by ClassView
#include "Connect.h"
#include "HyperLink.h"	// Added by ClassView
#include "Setup.h"
#include "Label.h"
#include "ColorEdit.h"


class CSecretChatDlg : public CDialog
{
// Construction
public:
	CSecretChatDlg(CWnd* pParent = NULL);	// standard constructor

	//套接字用
	int		m_friend_message_version;	//對方的消息版本號
	BOOL	m_bListen;				//是否監聽成功
	CConnect m_connectDlg;			//輸入IP地址的對話框
	UINT	m_port;					//服務器端口號,雙方約定為48501。
	CString m_IP;					//服務器IP地址
	CSocket *m_pSocket;				//客戶機類對象
	CListenSocket m_socketListen;	//服務器監聽的套接字對象
	BOOL	m_online;				//判斷是否聯機
	BOOL	m_clientOrService;		//自己用的時客戶端還是服務器端
	int		m_zai_xian_biao_ji;		//在線標記
	int		SendData(MessagePackage &msg, int n);	//發送數據
	BOOL	Connect();
	BOOL	Disconnection();

	//RSA用	
//	public_key	m_public_key;
//	private_key	m_private_key;
	//接收同時處理時會并行更改requires,所以把他們分開
	public_key	m_public_key_send;
	private_key	m_private_key_send;
	public_key	m_public_key_receive;
	private_key	m_private_key_receive;
	void		MessagePackageToText(MessagePackage &package);//將消息包轉化成明文
	void		TextToMessagePackage(MessagePackage &package, CString strm);//將明文strm轉化成消息包
	//發送消息要保留的信息
	DWORD		m_send;										//發送的消息數目,這里最大為1
	CString		m_send_time;								//發送消息時間
	//因為消息包數組的處理方式的進出無序的,所以要用位來表示
	__DWORD128	m_send_message_package_ID[32];				//發送消息包的標識
	DWORD		m_send_message_package_ID_index;			//用它的位判斷發送消息包ID的那個索引有沒被使用
	/*類或結構做參數必須用引用傳遞,否則就會在調用它時使得內存變亂,而出現無法回復的錯誤*/
	int			m_send_message_package_ID_del(__DWORD128 &del);		//刪除消息ID
	int			m_send_message_package_ID_find(__DWORD128 &find);	//查找
	int			m_send_message_package_ID_add(__DWORD128 &add);		//添加
	
	//接收消息要保留的信息
	int			m_receive_text_length;						//收到消息的長度
	char		m_receive_text[DATA_LENGTH];					//收到消息的正文緩沖區
	__DWORD128	m_receive_digital_ID;						//收到消息的數字標識
	__DWORD128	m_receive_message_package_ID;				//收到消息包的標識
	__DWORD128	m_receive_message_dollop_ID;				//收到所以消息塊總和的標識
	CString		m_receive_time;								//收到消息時間
	MessagePackage m_receive_message_package[MESSAGE_COUNT];//為了接收時的線程能讀到的發過來的消息包的數據
	CRITICAL_SECTION	m_cs_receive;						//臨界區,接收多條消息有用m_cs.LockCount代表正在接收消息的數目
	long		m_receive;									//代表正在接收消息的數目,-1未沒有

	BOOL		InstallPublicKey(CString fileName = "");	//安裝好友公鑰文件
	BOOL		InstallPrivateKey(CString fileName = "");	//安裝用戶私鑰文件

public:
	//文件傳送功能
	BOOL			m_send_file;			//判斷是否接收或發送文件
	CString			m_send_file_name;		//發送的文件名
//	int				m_send_file_seek_position;	//當前發送的文件位置
	int				m_send_file_length;		//發送或接收的文件長度
	CString			m_receive_file_name;	//接收的文件名
//	MessagePackage	m_receive_file_buffer;	//接收文件的緩沖區要傳給線程的呀
	HANDLE			m_send_file_thread_handle;	//線程句柄用來取消發送或接收

	//////////
	CRect		m_rect;			//窗口的位置
	CToolTipCtrl m_toolTip;		//工具提示對象
	CSetup		m_setupDlg;		//設置管理器
	CString		m_appName;		//應用程序目錄名

// Dialog Data
	//{{AFX_DATA(CSecretChatDlg)
	enum { IDD = IDD_SECRETCHAT_DIALOG };
	CLabel	m_friendNameStatic;
	CLabel	m_userNameStatic;
	CEdit	m_statusMessages;
	CColorEdit	m_messageNoteEdit;
	CEdit	m_messageEdit;
	CString	m_message;
	CString	m_messageNote;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CSecretChatDlg)
	public:
	virtual void WinHelp(DWORD dwData, UINT nCmd = HELP_CONTEXT);
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL
public:
	CButtonST m_connect;
	CButtonST m_disconnection;
	CButtonST m_publickeymanager;
	CButtonST m_note;
	CButtonST m_send_button;
	CButtonST m_exit;
	CButtonST m_getIP;
	CButtonST m_setup;	
	CButtonST m_sendfile;

public:
	CString GetFriendIP();//對方的IP地址
	void	disconnection_message(MessagePackage &msg);
	BOOL	CuoWuTiShi();
	void	send_file_comeback_scene();
	BOOL	prevent_connect();
	void	CloseSocket();
	void	receive_file(MessagePackage &msg);
	void	connect_succeed_update();
	void	signalled_friend_version();
	void	message_version(MessagePackage &msg);
	void	set_app_alias(CString app_alias);
	void	ReceiveRevert(MessagePackage &package);
	void	InitializationWindow();
	void	send_or_receive_tip(BOOL sendOrReceive);
	CString GetFriendName();
	CString GetUserName();
	void	Receive(MessagePackage &package);
	void	TrayIcon();
	BOOL	ValidatePublicKey();
	BOOL	ValidatePrivateKey();
	BOOL	AskPublicKey();
	BOOL	ClaimPublicKey(MessagePackage &msg);
	BOOL	RevertPublicKey(MessagePackage &msg);
	BOOL	MyUpdateData();
	void	PlayWaveSound(DWORD wave);

// Implementation
protected:
	HICON	m_hIcon;
	HICON	m_hOnline;	//在線圖標
	HICON	m_hOffline;	//斷線圖標
	// Generated message map functions
	//{{AFX_MSG(CSecretChatDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnTimer(UINT nIDEvent);
	virtual void OnOK();
	virtual void OnCancel();
	afx_msg void OnGetip();
	afx_msg void OnNote();
	afx_msg void OnSend();
	afx_msg void OnConnectDisconnection();
	afx_msg void OnSecretkey();
	afx_msg void OnSetup();
	afx_msg void OnUsername();
	afx_msg void OnFriendname();
	afx_msg void OnSendfile();
	afx_msg void OnTop();
	afx_msg void OnShow();
	afx_msg void OnHide();
	afx_msg void OnEmail();
	afx_msg void OnHomepage();
	afx_msg void OnHelp();
	afx_msg void OnExit();
	afx_msg void OnJiami();
	afx_msg void OnAbout();
	//}}AFX_MSG
	afx_msg LRESULT RunHide(WPARAM wParam,LPARAM lParam);	//運行時隱藏窗口
	afx_msg void OnMyIconNotify(WPARAM wParam,LPARAM lParam);	//托盤圖標響應事件
	DECLARE_MESSAGE_MAP()
};


//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SECRETCHATDLG_H__1047F9F5_CF01_483A_8822_470EF4A132CF__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合九色综合久久久精品综合 | 青青草原综合久久大伊人精品 | 久久免费美女视频| 亚洲综合在线电影| 国产精品一区在线| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲国产一区二区在线播放| 黄色成人免费在线| 欧美美女黄视频| 亚洲精品一二三| 成人永久免费视频| 26uuu另类欧美| 日韩激情一二三区| 欧美视频一区在线| 亚洲免费伊人电影| av资源网一区| 国产精品天美传媒| 国产九九视频一区二区三区| 欧美大片免费久久精品三p| 国产综合久久久久影院| 欧美日韩一区二区电影| 亚洲欧美日本在线| 色综合色综合色综合色综合色综合 | 国产原创一区二区| 日韩三级视频在线看| 亚洲第一成人在线| 欧美视频在线一区| 日韩专区中文字幕一区二区| 欧美在线观看视频一区二区三区| 中文字幕日韩一区二区| av在线一区二区| 最新国产の精品合集bt伙计| aaa国产一区| 自拍偷拍欧美精品| 一本大道av伊人久久综合| 亚洲色图丝袜美腿| 91视频www| 亚洲自拍偷拍图区| 欧美片网站yy| 日本aⅴ精品一区二区三区| 欧美精品18+| 久久精品国产亚洲a| 26uuu国产电影一区二区| 国产精品乡下勾搭老头1| 国产日本欧美一区二区| 91性感美女视频| 亚洲裸体在线观看| 欧美日韩在线播放一区| 免费高清不卡av| 久久精品日韩一区二区三区| 成人性生交大合| 亚洲精品水蜜桃| 在线播放91灌醉迷j高跟美女 | 夜夜操天天操亚洲| 在线电影一区二区三区| 精品一区二区av| 国产精品久久久久久一区二区三区| 99在线精品观看| 日韩精品乱码av一区二区| 久久久久久久性| 91蝌蚪porny九色| 蜜桃久久av一区| 国产欧美日韩中文久久| 91美女在线观看| 蜜桃视频第一区免费观看| 国产精品灌醉下药二区| 9191久久久久久久久久久| 国产福利不卡视频| 亚洲成人动漫精品| 国产精品私人影院| 欧美美女一区二区三区| 国产91高潮流白浆在线麻豆 | 国产原创一区二区三区| 一区二区三区四区高清精品免费观看| 欧美一区二区三区四区久久| 成人国产电影网| 国产精品一品视频| 亚洲综合成人网| 中文字幕精品一区| 欧美精品一级二级| eeuss鲁片一区二区三区在线观看| 亚洲第四色夜色| 综合久久久久久| 久久久久成人黄色影片| 欧美男女性生活在线直播观看| 丁香桃色午夜亚洲一区二区三区| 午夜精品久久久久久不卡8050| 日本一区免费视频| 欧美一区二区播放| 欧美系列亚洲系列| 99久久精品国产精品久久| 久久97超碰国产精品超碰| 亚洲丶国产丶欧美一区二区三区| 中文字幕高清一区| 国产午夜久久久久| 日韩精品一区二区三区在线| 欧美日韩一本到| 91美女在线看| 成人av先锋影音| 国产精品69毛片高清亚洲| 久久97超碰国产精品超碰| 日韩电影在线一区二区| 亚洲午夜电影在线| 一区二区三区高清在线| 中文字幕一区二区在线播放| 国产视频视频一区| 国产亚洲综合色| 久久久99精品免费观看不卡| 3d动漫精品啪啪1区2区免费| 欧美男男青年gay1069videost| 色噜噜夜夜夜综合网| 97aⅴ精品视频一二三区| 成人高清av在线| 成人性色生活片| yourporn久久国产精品| 成人av电影在线网| 99久久久精品| 色综合激情五月| 色中色一区二区| 欧美无乱码久久久免费午夜一区| 在线免费精品视频| 欧美日韩一区二区三区四区| 欧美在线免费观看视频| 欧美日本在线视频| 日韩欧美国产1| 久久久五月婷婷| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品久久久久久久久免费桃花| 欧美激情一区二区三区四区 | 91老师片黄在线观看| 色88888久久久久久影院按摩| 欧美在线一区二区| 91精品国产高清一区二区三区蜜臀| 91精品国产麻豆国产自产在线| 欧美tickling网站挠脚心| 久久久综合精品| 亚洲色图清纯唯美| 婷婷开心激情综合| 国产一区不卡精品| 91麻豆高清视频| 在线观看91av| 国产精品色婷婷久久58| 一区二区三区中文字幕电影| 日韩精品国产欧美| 成人黄色大片在线观看| 欧美在线一二三四区| 精品久久久久久最新网址| 国产精品国产三级国产aⅴ原创| 一区二区三区不卡视频在线观看| 欧美a级理论片| 成人av电影在线网| 日韩一区二区三区视频| 亚洲欧洲成人av每日更新| 日韩高清不卡一区二区| 成人国产精品免费观看视频| 91精品国产综合久久香蕉的特点| 久久久精品日韩欧美| 亚洲高清一区二区三区| 国产一区二区三区观看| 欧美视频一区二区在线观看| 日本一区二区成人| 久久电影国产免费久久电影| 色综合色狠狠天天综合色| 日韩欧美激情在线| 亚洲午夜国产一区99re久久| 成人晚上爱看视频| 日韩欧美第一区| 亚洲国产精品久久一线不卡| 国产精品综合在线视频| 在线综合视频播放| 亚洲乱码一区二区三区在线观看| 国内精品伊人久久久久av一坑| 欧美三级资源在线| 国产精品不卡在线| 久久精品国产99久久6| 欧美网站大全在线观看| 最新国产精品久久精品| 国产一区二区在线观看免费| 欧美日韩电影一区| 亚洲国产精品人人做人人爽| av在线播放不卡| 欧美国产日产图区| 国内不卡的二区三区中文字幕| 欧美一区二区日韩一区二区| 一区二区三区日韩精品| av影院午夜一区| 中文字幕在线一区| 丁香六月综合激情| 国产亚洲综合在线| 国产精品综合在线视频| 久久久久国产成人精品亚洲午夜| 久久成人麻豆午夜电影| 在线播放中文一区| 午夜欧美2019年伦理| 欧美日韩在线亚洲一区蜜芽| 亚洲一区成人在线| 欧美三级韩国三级日本三斤 | 一区在线观看免费| 波多野结衣视频一区| 国产精品网站在线观看|