ClientDlg.h.svn-base
上传用户:szjkjd
上传日期:2022-06-27
资源大小:8968k
文件大小:5k
源码类别:

浏览器

开发平台:

Visual C++

  1. /*! @ClientDlg.h
  2. ********************************************************************************
  3. <PRE>
  4. 模块名         : 主界面对话框头文件
  5. 文件名         : ClientDlg.h
  6. 相关文件       : ClientDlg.cpp,
  7. 文件实现功能   : 打开WEB,并在后台检查相关下载并进行下载,启动游戏
  8. 作者           : 刘俊
  9. 版本           : 1.0
  10. --------------------------------------------------------------------------------
  11. 备注           : -
  12. --------------------------------------------------------------------------------
  13. 修改记录 : 
  14. 日  期          版本            修改人          修改内容 
  15. 2010/02/08      1.0             刘俊            创建
  16. </PRE>
  17. ********************************************************************************
  18. * 版权所有(c) 2010, 17JGAGO, 保留所有权利
  19. *******************************************************************************/
  20. #pragma once
  21. #include "explorer1.h"
  22. // add by liujun
  23. // 程序的版本号,以程序的日期来定义
  24. const CString g_strAppVersion = "20100121";
  25. // 检查文件下载定时器
  26. const UINT g_uTimercheckfiledown = 1;
  27. // 文件下载定时器间隔时间
  28. const UINT g_uTimercheckfiledownElapse = 1000 * 60 * 15;
  29. // 文件下载列表元素结构
  30. struct CFileDownInfo 
  31. {
  32. // 文件名
  33. char chFilename[500];
  34. // 服务器端路径
  35. char chFileserverpath[1024];
  36. // 要下载到本地的路径
  37. char chDownlocalpath[1024];
  38. // 是否安装文件
  39. char cSetup;
  40. // 文件类型
  41. char chFiletype[100];
  42. // 最后更新时间
  43. char chLastupdate[50];
  44. };
  45. // end add
  46. /*! @CClientDlg
  47. ********************************************************************************
  48. <PRE>
  49. 类名称   : CClientDlg
  50. 功能     :  打开WEB,并在后台检查相关下载并进行下载,启动游戏
  51. 异常类   : 
  52. --------------------------------------------------------------------------------
  53. 备注     : -
  54. 典型用法 : -
  55. --------------------------------------------------------------------------------
  56. 作者     : 刘俊
  57. </PRE>
  58. *******************************************************************************/
  59. // CClientDlg 对话框
  60. class CClientDlg : public CDialog
  61. {
  62. // 构造
  63. public:
  64. CClientDlg(CWnd* pParent = NULL); // 标准构造函数
  65. // 对话框数据
  66. enum { IDD = IDD_CLIENT_DIALOG };
  67. protected:
  68. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
  69. // 实现
  70. protected:
  71. HICON m_hIcon;
  72. // 生成的消息映射函数
  73. virtual BOOL OnInitDialog();
  74. afx_msg void OnPaint();
  75. afx_msg HCURSOR OnQueryDragIcon();
  76. DECLARE_MESSAGE_MAP()
  77. public:
  78. DECLARE_EVENTSINK_MAP()
  79. //////////////////////////////// 方法 /////////////////////////////////////
  80. // 网页打开完成事件,用于读取HTTP SERVER返回的用户名和密码加密字段,网吧ID
  81. void DocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT* URL);
  82. // 截取用户点击的URL链接,用于判断是否用于启动游戏
  83. void BeforeNavigate2Explorer1(LPDISPATCH pDisp, VARIANT* URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers, BOOL* Cancel);
  84. // 自画界面鼠标拖动消息
  85. afx_msg UINT OnNcHitTest(CPoint point);
  86. public:
  87. // 打开主页WEB
  88. void OpenWEB();
  89. // 通过链接分析取得游戏信息
  90. void GetGameInfo(CString strUrl);
  91. // 启动游戏,启动成功,返回TRUE,否则,返回FALSE
  92. bool RunGame(const CString strPath, const CString strParam);
  93. // 读取本地配置文件,完成设置配置工作
  94. void ReadLocalConfig();
  95. // 读取某FTP文件内容,,第一个参数为FTP的IP地址,第二个参数为文件名,第三个为键值
  96. CString ReadFTPfile(char *pIP, char *pFilename, char *pKey);
  97. // TIMER响应方法
  98. void OnTimer(UINT nIDEvent);
  99. // 自写函数,从字符串中提取出特定的字符内容,第一个参数为开始字符,第二个为结束字符,第三个为目标字符串,没有这2个则返回空值
  100. CString GetSubString(CString strStart, CString strEnd, CString strDest);
  101. // ==========界面相关================
  102. // 重画标题栏
  103. void DrawTitleBar(CDC * pDC);
  104. // 响应窗体消息
  105. LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);
  106. // 响应鼠标点击事件
  107. afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point);
  108. // 响应鼠标移动,更改图片显示
  109. void OnNcMouseMove(UINT nHitTest , CPoint point);
  110. // =============================
  111. private:
  112. // 托盘结构体初始化
  113. void TrayInit();
  114. // 添加到托盘
  115. BOOL AddtoTray();
  116. //从托盘删除
  117. BOOL RemovefromTray();
  118. // 托盘响应函数
  119. afx_msg LRESULT onShowTask(WPARAM wParam,LPARAM lParam);
  120. // 托盘菜单响应函数
  121. BOOL OnCommand(WPARAM wParam, LPARAM lParam);
  122. // 下载文件,参数为文件下载结构
  123. void Downfile(const CFileDownInfo *pfiledowninfo);
  124. // 写入本地的filelist.xml文件记录,参数为文件下载结构
  125. void WriteToLocalXML(const CFileDownInfo *pfiledowninfo);
  126. private:
  127. /////////////////////// 属性 ///////////////////////////////
  128. // 网吧标识字符串
  129. CString m_strNetcafeNO;
  130. // 用户环境类型:0网吧用户,1家庭用户
  131. CString m_strUserType;
  132. // 用户类型标识:0 普通网吧终端,1 商户主
  133. CString m_strUser;
  134. // 网吧硬盘环境:0无盘,1有盘
  135. CString m_strDisk;
  136. // 默认主页地址
  137. CString m_strURL;
  138. // 商户主的WEB主页
  139. CString m_strMasterURL;
  140. // 端点服务器IIP地址
  141. CString m_strServerIP;
  142. // 本机银盘上,程序目前的CONFIG文件版本号,以日期来定义
  143. CString m_strLocalConfigVersion;
  144. // 端点服务器上,程序目前的CONFIG文件版本号,以日期来定义
  145. CString m_strServerConfigVersion;
  146. // 端点服务器CONFIG文件中的程序版本号
  147. CString m_strAppVersion;
  148. // 文件下载类
  149. CFTPDownFile m_Ftp;
  150. // 托盘结构体
  151. NOTIFYICONDATA m_Nid;
  152. // WEBBROWER控件
  153. CExplorer1 m_explorer;
  154. // 托盘图标存在状态 TURE:已经存在 FALSE:还未添加到托盘
  155. BOOL m_TrayStat;
  156. //关闭按钮位置
  157. CRect m_rtButtExit;
  158. //最小化按钮位置
  159. CRect m_rtButtMin;
  160. //图标位置
  161. CRect m_rtIcon;
  162. };