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

📄 updatepage.h

📁 MiniCA V2.0版本源码。《小型CA系统V2.1含源码》发表以来
💻 H
字号:
#if !defined(AFX_UPDATEPAGE_H__CBE1368F_C845_4DF0_9D19_AD4A8DE0C588__INCLUDED_)
#define AFX_UPDATEPAGE_H__CBE1368F_C845_4DF0_9D19_AD4A8DE0C588__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// UpdatePage.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CUpdatePage dialog
#include <WinINet.h>
#include ".\Control\ProgressCtrlST\ProgressCtrlST.h"

class CUpdatePage : public CPropertyPage
{
	DECLARE_DYNCREATE(CUpdatePage)

public:
	struct REQUEST_CONTEXT
	{
		HWND          hWindow;     // Main window handle
		int           nProgOne;    // ID of the edit box with the URL
		int           nProgTwo;    // ID of the edit box for the header info
		DWORD         m_dwFtpHead;  // 次数
		DWORD		  dFinishLen;	//完成长度	
		DWORD         dFileLen;	   // 文件总长度
		DWORD	      dTotalLen;	//批次长度
		DWORD	      dTotalFinish;	//批次完成长度
		BOOL		  bBegin;		//是否上传下载
		CUpdatePage    *  pUpdate;//   
	}m_Request;

private:
	void AddMsg(CString info,DWORD type = M_OK);

	CString GetFileGuid(CString strFile);
	enum
	{
		INTERNET_ERROR_OPENURL=1,
		INTERNET_ERROR_FILEOPEN,
		INTERNET_ERROR_READFILE,
		INTERNET_ERROR_OPEN
	};
	BOOL FileOperate(char * FilePath,char * Operate);
	void GetLastError();
	BOOL RegSvr(char * DllPath,BOOL bType = TRUE); //默认注册
	BOOL SystemShutdown(UINT uFlags,DWORD dwReason);
	DWORD m_TaskLen,//总共长度
		  m_UpLen,//下载的总长度
		  m_OneLen;//单个文件大小
	BOOL m_bUpdate;//是否升级中
	BOOL m_bReset;//是否需要重启动
	UINT InternetGetFile (HINTERNET IN hOpen,LPCTSTR  szUrl,
		LPCTSTR szFilePatch,UINT uIndex,LPCTSTR szFileName,BOOL bShowProg = TRUE);
	CString LmToHText(UCHAR * pValue, UINT uLen); //乱码转16进制
	struct stuUPDATE
	{
		char FileName[256] ;//文件名称
		char FileGuid[256] ;//文件校验码
		DWORD FileLength ;//文件长度
		char FilePath[256] ;//相对与程序给定路径的文件存储路径
		char FileUrl[256] ;//在服务器中存放位置
		char FileOperate[5] ;//操作方式 Down-下载 ,Reg-注册 ,Run - 运行
		stuUPDATE()
		{
			memset(this,0,sizeof(stuUPDATE));
		}
		stuUPDATE(const char * filename,char * fileguid,DWORD filelength,const char * filepath,
			const char * fileurl,const char * fileoper)
		{
			memset(this,0,sizeof(stuUPDATE));
			strncpy(FileName,filename,255);
			strncpy(FileGuid,fileguid,255);
			FileLength = filelength;
			strncpy(FilePath,filepath,255);
			strncpy(FileUrl,fileurl,255);
			strncpy(FileOperate,fileoper,5);
		}
		
	};
	HINTERNET m_hSession,
			  m_hConnect;

	// Construction
	public:
	void TranslateCT();
	virtual BOOL PreTranslateMessage(MSG* pMsg);

	CWnd * m_pParent;

	UINT DownHttpFile(LPCTSTR lpszUrl,LPCTSTR lpszLocal,UINT uIndex,LPCTSTR szFileName,
		BOOL bShowProg = TRUE);

	BOOL ConnectFtp(CString sServerName,UINT uServerPort,
							CString sUserName,CString sUserPwd);
	BOOL DownFtpFile(LPCTSTR lpszNewRemoteFile,LPCTSTR lpszLocalFile);

	void DisFtpConnect();

	void AddEvent(int iState ,CString Info);

	CString m_sIniUrl;////升级信息文件
	CString m_sExePath;//可执行文件路径
	CString m_sIniGuid;
//	CPtrList m_PtrList;//升级信息链表
	void CheckDonwloadThread();

	CUpdatePage();
	~CUpdatePage();
		
	// Dialog Data
	//{{AFX_DATA(CUpdatePage)
	enum { IDD = IDD_PROPPAGE_UPDATE };
	CXPStyleButtonST	m_Bup;
	CProgressCtrlST	m_Prog2;
	CProgressCtrlST	m_Prog1;
	CListCtrl	m_UpList;
	//}}AFX_DATA
		
		
	// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CUpdatePage)
	protected:
		virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL
	
	// Implementation
	protected:
	CToolTipCtrl m_tooltip;
	void GetErrInfo(DWORD dError, char * tmp_msg);

	// Generated message map functions
	//{{AFX_MSG(CUpdatePage)
	virtual BOOL OnInitDialog();
	afx_msg void OnBup();
	afx_msg void OnRclickListctrl(NMHDR* pNMHDR, LRESULT* pResult);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
			
};

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

#endif // !defined(AFX_UPDATEPAGE_H__CBE1368F_C845_4DF0_9D19_AD4A8DE0C588__INCLUDED_)

⌨️ 快捷键说明

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