UpdatePage.h
上传用户:dengkfang
上传日期:2008-12-30
资源大小:5233k
文件大小:4k
源码类别:

CA认证

开发平台:

Visual C++

  1. #if !defined(AFX_UPDATEPAGE_H__CBE1368F_C845_4DF0_9D19_AD4A8DE0C588__INCLUDED_)
  2. #define AFX_UPDATEPAGE_H__CBE1368F_C845_4DF0_9D19_AD4A8DE0C588__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // UpdatePage.h : header file
  7. //
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CUpdatePage dialog
  10. #include <WinINet.h>
  11. #include ".ControlProgressCtrlSTProgressCtrlST.h"
  12. class CUpdatePage : public CPropertyPage
  13. {
  14. DECLARE_DYNCREATE(CUpdatePage)
  15. public:
  16. struct REQUEST_CONTEXT
  17. {
  18. HWND          hWindow;     // Main window handle
  19. int           nProgOne;    // ID of the edit box with the URL
  20. int           nProgTwo;    // ID of the edit box for the header info
  21. DWORD         m_dwFtpHead;  // 次数
  22. DWORD   dFinishLen; //完成长度
  23. DWORD         dFileLen;    // 文件总长度
  24. DWORD       dTotalLen; //批次长度
  25. DWORD       dTotalFinish; //批次完成长度
  26. BOOL   bBegin; //是否上传下载
  27. CUpdatePage    *  pUpdate;//   
  28. }m_Request;
  29. private:
  30. void AddMsg(CString info,DWORD type = M_OK);
  31. CString GetFileGuid(CString strFile);
  32. enum
  33. {
  34. INTERNET_ERROR_OPENURL=1,
  35. INTERNET_ERROR_FILEOPEN,
  36. INTERNET_ERROR_READFILE,
  37. INTERNET_ERROR_OPEN
  38. };
  39. BOOL FileOperate(char * FilePath,char * Operate);
  40. void GetLastError();
  41. BOOL RegSvr(char * DllPath,BOOL bType = TRUE); //默认注册
  42. BOOL SystemShutdown(UINT uFlags,DWORD dwReason);
  43. DWORD m_TaskLen,//总共长度
  44.   m_UpLen,//下载的总长度
  45.   m_OneLen;//单个文件大小
  46. BOOL m_bUpdate;//是否升级中
  47. BOOL m_bReset;//是否需要重启动
  48. UINT InternetGetFile (HINTERNET IN hOpen,LPCTSTR  szUrl,
  49. LPCTSTR szFilePatch,UINT uIndex,LPCTSTR szFileName,BOOL bShowProg = TRUE);
  50. CString LmToHText(UCHAR * pValue, UINT uLen); //乱码转16进制
  51. struct stuUPDATE
  52. {
  53. char FileName[256] ;//文件名称
  54. char FileGuid[256] ;//文件校验码
  55. DWORD FileLength ;//文件长度
  56. char FilePath[256] ;//相对与程序给定路径的文件存储路径
  57. char FileUrl[256] ;//在服务器中存放位置
  58. char FileOperate[5] ;//操作方式 Down-下载 ,Reg-注册 ,Run - 运行
  59. stuUPDATE()
  60. {
  61. memset(this,0,sizeof(stuUPDATE));
  62. }
  63. stuUPDATE(const char * filename,char * fileguid,DWORD filelength,const char * filepath,
  64. const char * fileurl,const char * fileoper)
  65. {
  66. memset(this,0,sizeof(stuUPDATE));
  67. strncpy(FileName,filename,255);
  68. strncpy(FileGuid,fileguid,255);
  69. FileLength = filelength;
  70. strncpy(FilePath,filepath,255);
  71. strncpy(FileUrl,fileurl,255);
  72. strncpy(FileOperate,fileoper,5);
  73. }
  74. };
  75. HINTERNET m_hSession,
  76.   m_hConnect;
  77. // Construction
  78. public:
  79. void TranslateCT();
  80. virtual BOOL PreTranslateMessage(MSG* pMsg);
  81. CWnd * m_pParent;
  82. UINT DownHttpFile(LPCTSTR lpszUrl,LPCTSTR lpszLocal,UINT uIndex,LPCTSTR szFileName,
  83. BOOL bShowProg = TRUE);
  84. BOOL ConnectFtp(CString sServerName,UINT uServerPort,
  85. CString sUserName,CString sUserPwd);
  86. BOOL DownFtpFile(LPCTSTR lpszNewRemoteFile,LPCTSTR lpszLocalFile);
  87. void DisFtpConnect();
  88. void AddEvent(int iState ,CString Info);
  89. CString m_sIniUrl;////升级信息文件
  90. CString m_sExePath;//可执行文件路径
  91. CString m_sIniGuid;
  92. // CPtrList m_PtrList;//升级信息链表
  93. void CheckDonwloadThread();
  94. CUpdatePage();
  95. ~CUpdatePage();
  96. // Dialog Data
  97. //{{AFX_DATA(CUpdatePage)
  98. enum { IDD = IDD_PROPPAGE_UPDATE };
  99. CXPStyleButtonST m_Bup;
  100. CProgressCtrlST m_Prog2;
  101. CProgressCtrlST m_Prog1;
  102. CListCtrl m_UpList;
  103. //}}AFX_DATA
  104. // Overrides
  105. // ClassWizard generate virtual function overrides
  106. //{{AFX_VIRTUAL(CUpdatePage)
  107. protected:
  108. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  109. //}}AFX_VIRTUAL
  110. // Implementation
  111. protected:
  112. CToolTipCtrl m_tooltip;
  113. void GetErrInfo(DWORD dError, char * tmp_msg);
  114. // Generated message map functions
  115. //{{AFX_MSG(CUpdatePage)
  116. virtual BOOL OnInitDialog();
  117. afx_msg void OnBup();
  118. afx_msg void OnRclickListctrl(NMHDR* pNMHDR, LRESULT* pResult);
  119. //}}AFX_MSG
  120. DECLARE_MESSAGE_MAP()
  121. };
  122. //{{AFX_INSERT_LOCATION}}
  123. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  124. #endif // !defined(AFX_UPDATEPAGE_H__CBE1368F_C845_4DF0_9D19_AD4A8DE0C588__INCLUDED_)