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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? secretchatdlg.h

?? RSA密聊
?? H
字號(hào):
// 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
//運(yùn)行時(shí)隱藏窗口消息	
#define WM_RUNHIDE ( WM_USER + 2)		

//監(jiān)聽的端口號(hào)
#define LISTEN_PORT				2300
//應(yīng)用程序版本號(hào)
#define APPLICATION_VERSION		1
//當(dāng)前自己的通訊版本號(hào)
#define MESSAGE_VERSION			1
//密鑰文件版本號(hào)
#define SECRETKEY_VERSION		1
//一次發(fā)送的數(shù)據(jù)大小,msg.n			
#define SENDFILESIZE			1024

//接收的最大消息數(shù)目
#define MESSAGE_COUNT			4
/*1位表示被用著,0位表示可以用,如果全為0就代表完全空著,全為1就代表沒有空余
m_send_message_package_ID數(shù)組的索引和m_send_message_package_ID_index的位相對(duì)應(yīng),
總之有空閑的位就可以使用*/
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;	//對(duì)方的消息版本號(hào)
	BOOL	m_bListen;				//是否監(jiān)聽成功
	CConnect m_connectDlg;			//輸入IP地址的對(duì)話框
	UINT	m_port;					//服務(wù)器端口號(hào),雙方約定為48501。
	CString m_IP;					//服務(wù)器IP地址
	CSocket *m_pSocket;				//客戶機(jī)類對(duì)象
	CListenSocket m_socketListen;	//服務(wù)器監(jiān)聽的套接字對(duì)象
	BOOL	m_online;				//判斷是否聯(lián)機(jī)
	BOOL	m_clientOrService;		//自己用的時(shí)客戶端還是服務(wù)器端
	int		m_zai_xian_biao_ji;		//在線標(biāo)記
	int		SendData(MessagePackage &msg, int n);	//發(fā)送數(shù)據(jù)
	BOOL	Connect();
	BOOL	Disconnection();

	//RSA用	
//	public_key	m_public_key;
//	private_key	m_private_key;
	//接收同時(shí)處理時(shí)會(huì)并行更改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);//將消息包轉(zhuǎn)化成明文
	void		TextToMessagePackage(MessagePackage &package, CString strm);//將明文strm轉(zhuǎn)化成消息包
	//發(fā)送消息要保留的信息
	DWORD		m_send;										//發(fā)送的消息數(shù)目,這里最大為1
	CString		m_send_time;								//發(fā)送消息時(shí)間
	//因?yàn)橄鼣?shù)組的處理方式的進(jìn)出無(wú)序的,所以要用位來(lái)表示
	__DWORD128	m_send_message_package_ID[32];				//發(fā)送消息包的標(biāo)識(shí)
	DWORD		m_send_message_package_ID_index;			//用它的位判斷發(fā)送消息包ID的那個(gè)索引有沒被使用
	/*類或結(jié)構(gòu)做參數(shù)必須用引用傳遞,否則就會(huì)在調(diào)用它時(shí)使得內(nèi)存變亂,而出現(xiàn)無(wú)法回復(fù)的錯(cuò)誤*/
	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;						//收到消息的長(zhǎng)度
	char		m_receive_text[DATA_LENGTH];					//收到消息的正文緩沖區(qū)
	__DWORD128	m_receive_digital_ID;						//收到消息的數(shù)字標(biāo)識(shí)
	__DWORD128	m_receive_message_package_ID;				//收到消息包的標(biāo)識(shí)
	__DWORD128	m_receive_message_dollop_ID;				//收到所以消息塊總和的標(biāo)識(shí)
	CString		m_receive_time;								//收到消息時(shí)間
	MessagePackage m_receive_message_package[MESSAGE_COUNT];//為了接收時(shí)的線程能讀到的發(fā)過(guò)來(lái)的消息包的數(shù)據(jù)
	CRITICAL_SECTION	m_cs_receive;						//臨界區(qū),接收多條消息有用m_cs.LockCount代表正在接收消息的數(shù)目
	long		m_receive;									//代表正在接收消息的數(shù)目,-1未沒有

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

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

	//////////
	CRect		m_rect;			//窗口的位置
	CToolTipCtrl m_toolTip;		//工具提示對(duì)象
	CSetup		m_setupDlg;		//設(shè)置管理器
	CString		m_appName;		//應(yīng)用程序目錄名

// 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();//對(duì)方的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;	//在線圖標(biāo)
	HICON	m_hOffline;	//斷線圖標(biāo)
	// 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);	//運(yùn)行時(shí)隱藏窗口
	afx_msg void OnMyIconNotify(WPARAM wParam,LPARAM lParam);	//托盤圖標(biāo)響應(yīng)事件
	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_)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美v亚洲v综合ⅴ国产v| 波多野结衣中文字幕一区| 欧美中文字幕一区| 午夜电影久久久| 日韩一区二区三区观看| 久久电影网站中文字幕| 久久蜜桃一区二区| 99国产精品99久久久久久| 成人欧美一区二区三区黑人麻豆| jlzzjlzz欧美大全| 一区二区三区欧美激情| 日韩一区二区三区三四区视频在线观看| 美女视频一区二区| 欧美国产精品一区二区| 亚洲va天堂va国产va久| 91久久线看在观草草青青| 午夜激情久久久| 久久先锋影音av| 99精品偷自拍| 日本中文字幕一区二区有限公司| 一区二区在线观看av| 欧美色精品天天在线观看视频| 麻豆精品在线视频| 中文字幕一区二区三区精华液 | 欧美一级日韩一级| 国产不卡免费视频| 一区二区三区欧美激情| 精品国产一区二区亚洲人成毛片| 99视频热这里只有精品免费| 亚洲444eee在线观看| 国产色91在线| 欧美日韩日本视频| 福利一区二区在线| 天天影视涩香欲综合网| 国产日韩欧美高清| 91精品婷婷国产综合久久性色 | 国产乱一区二区| 伊人夜夜躁av伊人久久| 精品国产乱码久久久久久1区2区 | 亚洲一二三专区| 久久蜜臀中文字幕| 欧美乱熟臀69xxxxxx| 成人国产精品免费网站| 蜜臀av国产精品久久久久| 中文字幕日韩一区二区| 日韩精品一区二| 欧美在线一区二区| 成人av网站在线| 精品无人区卡一卡二卡三乱码免费卡 | 亚洲一区二区三区自拍| 国产欧美精品区一区二区三区| 337p亚洲精品色噜噜噜| 日本电影欧美片| 粉嫩久久99精品久久久久久夜 | 中文字幕日韩一区二区| 久久久国际精品| 欧美成人福利视频| 欧美高清视频不卡网| 99国产精品久| 成人看片黄a免费看在线| 精品写真视频在线观看| 日韩电影免费在线观看网站| 亚洲一区二区偷拍精品| 亚洲精品乱码久久久久久| 日本一区二区三区四区| 久久久久国产精品免费免费搜索| 欧美一级理论片| 欧美一区二区视频在线观看2022| 欧美日韩免费高清一区色橹橹| 99精品欧美一区二区蜜桃免费| 国产91精品一区二区| 国产成人免费视频一区| 黄网站免费久久| 国产一区二区免费在线| 狠狠色2019综合网| 老司机免费视频一区二区| 青青青伊人色综合久久| 五月天激情综合网| 天天操天天干天天综合网| 亚洲第一主播视频| 亚洲va国产天堂va久久en| 亚洲一卡二卡三卡四卡 | 中文字幕在线播放不卡一区| 亚洲国产精品传媒在线观看| 国产精品日日摸夜夜摸av| 国产精品欧美一级免费| 最新热久久免费视频| 亚洲色图制服丝袜| 一区二区视频在线看| 夜夜嗨av一区二区三区网页| 亚洲成人三级小说| 久久国产欧美日韩精品| 国产一区二三区| 成人va在线观看| 欧美在线视频全部完| 欧美二区在线观看| 精品国产制服丝袜高跟| 国产精品久久久久精k8| 一区二区三区日韩欧美精品| 日韩电影一区二区三区四区| 精品亚洲免费视频| 99re这里只有精品首页| 欧美综合天天夜夜久久| 日韩一区和二区| 国产精品乱人伦一区二区| 亚洲精品成a人| 蜜乳av一区二区三区| 国产成人在线观看免费网站| 91视频免费观看| 日韩欧美久久久| 国产精品传媒视频| 日韩制服丝袜先锋影音| 精品伊人久久久久7777人| 成人av网站免费观看| 欧美肥妇bbw| 中文字幕在线观看不卡| 日韩精品一二三| 成人一区在线观看| 正在播放亚洲一区| 国产精品无人区| 奇米精品一区二区三区在线观看| 国产成人亚洲综合a∨婷婷| 欧美私人免费视频| 久久久九九九九| 亚洲福利视频一区| 从欧美一区二区三区| 欧美浪妇xxxx高跟鞋交| 国产精品嫩草影院av蜜臀| 日韩有码一区二区三区| 成人av电影在线观看| 日韩精品一区二区三区swag| 亚洲精品欧美综合四区| 国产一区二区看久久| 欧美日韩国产综合一区二区| 亚洲国产精品99久久久久久久久| 日韩av一区二| 色诱亚洲精品久久久久久| 久久久久久一二三区| 五月激情综合色| 色噜噜久久综合| 国产日本欧洲亚洲| 麻豆精品视频在线观看视频| 在线观看亚洲一区| 亚洲欧洲日产国产综合网| 国产一区二区在线视频| 欧美性生活影院| 亚洲欧美综合另类在线卡通| 国产精品羞羞答答xxdd| 欧美一区二区大片| 亚洲成年人网站在线观看| 91视频精品在这里| 国产精品久久久久影院亚瑟| 国内精品国产成人国产三级粉色| 91麻豆精品国产91久久久久久久久| 亚洲欧美在线另类| 成人午夜av电影| 国产日本欧洲亚洲| 国产精品自拍三区| 久久久综合激的五月天| 国内精品免费**视频| 精品国产乱码久久| 国模套图日韩精品一区二区| 日韩网站在线看片你懂的| 天天影视网天天综合色在线播放| 欧美自拍丝袜亚洲| 亚洲另类春色国产| 欧美专区日韩专区| 亚洲夂夂婷婷色拍ww47| 欧洲精品在线观看| 五月综合激情网| 欧美一区二区三区四区久久| 免费成人在线影院| 欧美α欧美αv大片| 精品一二线国产| 久久久蜜臀国产一区二区| 国产成人aaa| 中文字幕一区二区三区视频| 色偷偷久久一区二区三区| 亚洲黄色性网站| 欧美日韩免费不卡视频一区二区三区 | 99re视频精品| 亚洲激情图片qvod| 欧美欧美午夜aⅴ在线观看| 婷婷中文字幕一区三区| 日韩欧美激情四射| 国产激情视频一区二区三区欧美| 国产精品天美传媒沈樵| 91色视频在线| 亚洲二区在线观看| 欧美一级二级在线观看| 国产99一区视频免费| 亚洲免费av网站| 91精品久久久久久蜜臀| 国产美女一区二区三区| 中文字幕一区二区三区视频| 欧美精品久久天天躁| 国产又粗又猛又爽又黄91精品| 中文字幕第一区综合| 91成人免费在线| 久久国产精品免费|