www.pudn.com > CraftFTP_gb.rar > CraftFTP.h


// CraftFTP.h : main header file for the CraftFTP application 
// 
 
#if !defined(AFX_CraftFTP_H__E1254B24_2875_11D5_8B71_5254AB35C614__INCLUDED_) 
#define AFX_CraftFTP_H__E1254B24_2875_11D5_8B71_5254AB35C614__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#ifndef __AFXWIN_H__ 
	#error include 'stdafx.h' before including this file for PCH 
#endif 
 
#include "resource.h"       // main symbols 
#include "PingDialog.h" 
#include "DialogEx.h" 
#include "HyperLink.h" 
#include "SplashWnd.h" 
#include "CreditsCtrl.h" 
#include "LCCWorkspace.h" 
#include "FavoritesManager.h" 
#include "CustomCmdDialog.h" 
#include "PurchaseDialog.h" 
 
///////////////////////////////////////////////////////////////////////////// 
// CCraftFTPApp: 
// See CraftFTP.cpp for the implementation of this class 
// 
 
#define	WM_FOLDER_CHANGE				WM_APP+1000 
#define	WM_BUTTON_CLICK					WM_APP+1001 
#define IDC_BUTTON_UP                   WM_APP+1002 
 
#define	WM_LISTENSOCKET_NOTIFY			(WM_USER + 100) 
#define WM_UPLOADFILE_COMPLETE			(WM_USER + 101) 
 
#define	ID_COMMAND						1 
#define	ID_STATUS						2 
#define	ID_ERRORS						3 
#define ID_REPLY						4 
 
const TCHAR szNsFtp32Class[] = _T("NsFtp32Class"); 
#define GetRandom( min, max ) ((rand() % (int)(((max) + 1) - (min))) + (min)) 
 
///////////////////////////////////////////////////////////////////////////// 
// CAboutDlg dialog used for App About 
class CMainFrame; 
class CAboutDlg : public CDialogEx 
{ 
public: 
	CAboutDlg(); 
 
// Dialog Data 
	//{{AFX_DATA(CAboutDlg) 
	enum { IDD = IDD_ABOUTBOX }; 
	CHyperLink	m_hylHomepage; 
	CHyperLink	m_hylSupportMail; 
	//}}AFX_DATA 
 
	// ClassWizard generated virtual function overrides 
	//{{AFX_VIRTUAL(CAboutDlg) 
	protected: 
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support 
	//}}AFX_VIRTUAL 
public: 
	CCreditsCtrl		m_wndCredits; 
 
// Implementation 
protected: 
	static const DWORD m_nHelpIDs[]; 
	virtual const DWORD* GetHelpIDs() {return m_nHelpIDs;} 
 
	//{{AFX_MSG(CAboutDlg) 
	virtual BOOL OnInitDialog(); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
private: 
	void CreateCreaditsCtrl(); 
}; 
 
class CCraftFTPApp : public CWinApp, 
				 public CLCCWorkspace 
{ 
public: 
	CCraftFTPApp(); 
	virtual void PreLoadState(); 
	void LoadRecentFtpSite(); 
	void CreateRecentSiteMenu(CMenu & menu); 
	void CreateCustomFtpCmdMenu(CMenu & menu); 
	void ShowXpStyle(BOOL bShow = TRUE); 
 
	typedef struct tagREGISTERBLOCK 
	{ 
		DWORD   dwSize;                     //结构大小 
		BYTE    szSignature[12];            //签名标志 
		BYTE    bShift;                     //随机移位位数 
		DWORD   dwVersion;                  //结构版本,高位字位主版本号,低位字位次版本号 
		BYTE	szUuid[40];					//全球或本级唯一的GUID 
		BYTE    szUserName[32];             //注册的用户名称 
		BYTE	szRegCode[23];				//注册码(7Bit) 
		long	nStartTimes;				//开启的次数 
		BYTE    szDateTime[18];             //第一次使用的日期 
		BYTE    szLastDate[18];             //最后一次使用的日期 
	}REGISTERBLOCK, *PREGISTERBLOCK; 
 
	struct CRecentSite 
	{ 
		CRecentSite() 
		{ 
			nIndex	=	0; 
			szHostName.Empty(); 
			pProfile=	NULL; 
		} 
		UINT	nIndex; 
		CString	szHostName; 
		CFavoritesManager::CFavoriteProfile 
			*	pProfile; 
	}; 
 
public: 
	CString				m_szWinHelpFile;	//WinHelp 帮助文件名 
 
	CRuntimeClass	*	m_pRuntimeClass; 
	CSplashWnd 			m_splashWnd; 
	DWORD				m_dwSplashTime; 
	CAboutDlg			aboutDlg; 
	CFavoritesManager	m_Favorites; 
	CCustomCmdList		m_CustomCmdList; 
	CList m_RecentSiteList; 
 
	CPingDialog			m_PingDlg; 
 
public: 
	static void Encode7Bit(unsigned char * chContent, unsigned char * chEncoded); 
	static void Decode7Bit(const unsigned char * chContent, size_t nLength, unsigned char * chResult); 
	static BYTE ExchangeBit(BYTE ch, int nBit); 
	static void CopyUuidToString(UUID * pUuid, char szUuid[40], BOOL bSeparator); 
 
	static CString m_szRegName;		//注册名称 
	static CString m_szRegID;		//注册ID 
	static CString m_szRegCode;		//注册代码 
	static BOOL	m_bRegComplete;		//已经成功注册 
 
	HMODULE m_hRegCore;				//注册模块动态连接库 
	CTime	m_tmStarted; 
	BOOL	m_bPrevInstance;		//前面的实例是否存在 
	CString	m_szLibraryPath;		//注册辅助文件名称 
 
protected: 
 
// Overrides 
	// ClassWizard generated virtual function overrides 
	//{{AFX_VIRTUAL(CCraftFTPApp) 
	public: 
	virtual BOOL InitInstance(); 
	virtual int ExitInstance(); 
	virtual BOOL PreTranslateMessage(MSG* pMsg); 
	virtual BOOL OnIdle(LONG lCount); 
	virtual void WinHelp(DWORD dwData, UINT nCmd = HELP_CONTEXT); 
	//}}AFX_VIRTUAL 
 
// Implementation 
private: 
	void InitPurchase(BOOL bInit = FALSE); 
	void ShowTipOfTheDay(); 
	void ShowTipAtStartup(); 
 
private: 
	BOOL	m_bExpire;		//试用过期 
 
public: 
	//{{AFX_MSG(CCraftFTPApp) 
	afx_msg void OnAppAbout(); 
	afx_msg void OnTellToFriends(); 
	afx_msg void OnOnlineSupport(); 
	afx_msg void OnTipOfTheDay(); 
	afx_msg void OnFileNewWindow(); 
	afx_msg void OnHelpRegistration(); 
	afx_msg void OnFileOpen(); 
	afx_msg void OnFileNewFtpSite(); 
	afx_msg void OnUpdateHelpRegistration(CCmdUI* pCmdUI); 
	afx_msg void OnFavoriteOrganize(); 
	afx_msg void OnSendAttachmentMail(); 
	afx_msg void OnFileSaveas(); 
	afx_msg void OnFavoriteManage(); 
	afx_msg void OnCommandDefine(); 
	afx_msg void OnViewXpstyle(); 
	afx_msg void OnUpdateViewXpstyle(CCmdUI* pCmdUI); 
	afx_msg void OnToolsPing(); 
	afx_msg void OnUpdateToolsPing(CCmdUI* pCmdUI); 
	afx_msg void OnSendFeedback(); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
}; 
 
///////////////////////////////////////////////////////////////////////////// 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Visual C++ will insert additional declarations immediately before the previous line. 
 
#endif // !defined(AFX_CraftFTP_H__E1254B24_2875_11D5_8B71_5254AB35C614__INCLUDED_)