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_)