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

📄 mento supplicantdlg.h

📁 一个非常漂亮的802.1x客户端源代码
💻 H
字号:
// Mento SupplicantDlg.h : header file
//

#if !defined(AFX_MENTOSUPPLICANTDLG_H__F24C287C_314B_48BA_9046_B8E8723E1449__INCLUDED_)
#define AFX_MENTOSUPPLICANTDLG_H__F24C287C_314B_48BA_9046_B8E8723E1449__INCLUDED_

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

#include "NIC_Device.h"

/////////////////////////////////////////////////////////////////////////////
// CMentoSupplicantDlg dialog

union ULONG_BYTEARRAY {
	u_long  ulValue;
	byte  btValue[4];
};

class CMentoSupplicantDlg : public CDialog
{
// Construction
public:
	bool SendPackage();
	void OnRestore();
	void PrintOutput(CString SForOutput, CString STitle="", bool BMsgBoxSign=false);

	CMentoSupplicantDlg(CWnd* pParent = NULL);	// standard constructor
private:
// Dialog Data
	//{{AFX_DATA(CMentoSupplicantDlg)
	enum { IDD = IDD_MENTOSUPPLICANT_DIALOG };
	CStatic	m_BrandLabel;
	CHotKeyCtrl	m_HotKey;			//热键
	CTabCtrl	m_OptionTab;
	CListBox	m_OutputCtl;
	CEdit	m_PointAddrEdit;
	CComboBox	m_NIC_Select;		//网卡选择
	CString	m_sPassword;			//用户名
	CString	m_sName;				//密码
	int		m_iSelectedMode;		//是哪种认证模式:0:标准 1:实达
	BOOL	m_bAutoConnectCheck;	//运行自动认证
	BOOL	m_bConnectMinimize;		//连接自动最小化
	int		m_iCallWay;				//唤起方式
	BOOL	m_bStartupConnect;		//开机自动认证
	BOOL	m_bSelfIntervalCheck;	//是否自己设计echo间隔
	int		m_iSelfInterval;		//自设echo间隔
	BOOL	m_bIntelligentReconnect;//是否自动重连?
	BOOL    m_bArtificalAddressEnable;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMentoSupplicantDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
	//}}AFX_VIRTUAL

// Implementation
private:
	void SwitchSystemState(int IState);
	void CheckAndSetButtonStatus();
	void SetShellIconState(int IState);

	void ProcessHidenArgs();		//处理隐藏选项
	void SaveSettings();			//保存设定值
	void FillNetParamater(byte ForFill[]);	//填写网络参数
	
	//初始化系统的网络设置参数(IP,网关,网络掩友,DNS,MAC地址)
	bool InitNICParamater();
	//初始化界面参数(选项卡、按钮状态)
	bool InitInterface();
	//初始化各个网卡参数
	bool InitNICs();
	//初始化认证参数,指用户名、密码等,指用户在界面指定的参数
	bool InitCertParamater();
	void OnSetShellIconState(int ICurrentState);
	void SetBrandLabel(CString SForSet);
	HICON m_hIcon;

	//界面选项
	NOTIFYICONDATA m_Notify;		//托盘图标
	int m_hLarge;					//大窗口模式高度
	int m_hSmall;					//小窗口模式高度	
	bool bLargeSign;				//是否是大窗口模式?
	bool m_bMinimizeModeSign;		//是否最小化窗口模式?
	WORD m_wKeyModifier;			//key-modifier
	WORD m_wVirtualKey;				//virtual-key
	//配置选项
	CString sStartupConnectKeyName;	//自动连接键值
	bool m_bNICInitSign;			//网卡缺省值有没有被初始化

public:
	bool m_bIsStartupConnect;		//是否开机自动运行?如果是,则不生效热键和系统栏图标

public:
	//网卡选项
	NIC_Device *m_pNICs;			//网络设备列表
	NIC_Device *m_pCurrentNIC;		//当前网络设备列表
	bool m_NIC_Selected;			//是否已经选定网卡?
	CString m_sNICIP;				//网卡IP地址

	//网络参数选项
	byte bLocalMAC[6];				//本机的MAC地址
	byte bDestMAC[6];				//服务器的MAC地址
	byte bIndentify;                //获取包同步验证序号
	byte m_IP[4];					//当前选择的网卡的IP地址
	byte m_NetMask[4];				//当前选择的网卡的子网掩码
	byte m_NetGate[4];				//当前选择的网卡的网关
	byte m_DNS1[4];					//当前选择的网卡的DNS

	//状态选项
	int m_iState;					//当前认证状态
									//0:未找到服务器
									//1:已找到服务器,未通过用户名认证
									//2:已通过用户名认证,未通过MD5认证
									//3:已通过MD5认证,通网成功
	bool m_bTimerValidSign;			//定时器是否已经启用
	CString m_sNetGate;				//用于ping,测试网络是否通畅
	bool m_bFreshSign;				//是否有认证成功历史?
    bool m_ServerMsgSign;            //success包中是否含有服务器消息 by HCNE
protected:
	int m_DebugMode_set;			//是否测试模式
	bool m_bInitProcessing;			//是否init成功?
	CFont m_fBrandFont;

public:
	//多线程控制选项
	CWinThread *m_pMainCertThread;	//接收线程地址
	CWinThread *m_pPingThread;		//ping线程地址

	//密码、Echo计算选项
	byte bMD5Source[256];			//MD5验证时,对方发过来的代码
	byte* bpMD5Source;				//指向MD5运算的指针
	ULONG_BYTEARRAY m_uSerialNo;	//序列号
	ULONG_BYTEARRAY m_uKey;			//密码加密键值
	byte  circleCheck[2];			//那两个鬼值

	//隐藏选项
	CString m_IP_set;
	CString m_NetMask_set;
	CString m_NetGate_set;
	CString m_DNS1_set;
	
protected:
	// Generated message map functions
	//{{AFX_MSG(CMentoSupplicantDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnExit();
	afx_msg void OnStartCert();
	afx_msg void OnEndCert();
	afx_msg void OnMinimize();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg LONG OnHotKey(WPARAM wParam,LPARAM lParam);
	afx_msg void OnAbout();
	afx_msg void OnExpand();
	afx_msg void OnAutoConnect();
	afx_msg void OnSelchangingOption(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnSelchangeOption(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnConnectMinimize();
	afx_msg void OnDestroy();
	afx_msg void OnCallHotkey();
	afx_msg void OnCallShellIcon();
	afx_msg void OnSelchangeNicSelected();
	afx_msg void OnStartupConnect();
	afx_msg void OnEchoInterval();
	afx_msg void OnInteligenceReconnect();
	afx_msg void OnErrspaceOutputList();
	afx_msg void OnArtificalAddressEnable();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
public:
	bool InitNICParamater98();
	bool InitNICParamaterNT();
	boolean GetMacByIP( CString sIP, byte mac[] );
	void Blog();
	int SendFindServerPacket();
	int SendNamePacket();
	int SendPasswordPacket();
	int SendEchoPacket();
	void SendEndCertPacket();

	void DisableTimer();				//禁止定时器
	void EnableTimer(int IInterval);	//启动定时器
	void ReEnableTimer(int IInterval);	//重启定时器
	void DoStartCert();					//开始认证

	bool GetSelfIntervalCheck();		//取得是否自定义echo标志
	int  GetSelfInterval();				//取得自定义的echo间隔
	void WriteDebugInfo(CString SOption, CString SContent);
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MENTOSUPPLICANTDLG_H__F24C287C_314B_48BA_9046_B8E8723E1449__INCLUDED_)

⌨️ 快捷键说明

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