MakeMetaFile.h
上传用户:lds876
上传日期:2013-05-25
资源大小:567k
文件大小:2k
源码类别:

P2P编程

开发平台:

Visual C++

  1. // MakeMetaFile.h: interface for the CMakeMetaFile class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_MAKEMETAFILE_H__ED8343D5_9AB9_41A1_B9A8_A63CDD30BD6D__INCLUDED_)
  5. #define AFX_MAKEMETAFILE_H__ED8343D5_9AB9_41A1_B9A8_A63CDD30BD6D__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. class CVal;
  10. #define MAKE_METAFILE_PROGRESS (WM_USER+2089)
  11. #define MAKE_METAFILE_FINISHED (WM_USER+2090)
  12. class CMakeMetaFile  
  13. {
  14. class CSubFilesItem
  15. {
  16. public:
  17. CSubFilesItem(CVal* pPathList, string strPath)
  18. {
  19. m_pPathList = pPathList;
  20. m_strPath = strPath;
  21. }
  22. CVal* m_pPathList ;
  23. string m_strPath;
  24. };
  25. typedef vector<CSubFilesItem> CSubFilesList;
  26. public:
  27. CMakeMetaFile();
  28. virtual ~CMakeMetaFile();
  29. bool IsMaking();
  30. bool Close();
  31. bool FormatSaveAS(string strFilePath, string& strToSavePath);
  32. bool MakeMetaFileEx(string strFilePath, string strSaveAs, string strUrl, string strComment, long lPieceLenExp, HWND hWnd);
  33. bool GetResult() const;
  34. string GetErrorMsg() const;
  35. string GetSavePath() const;
  36. string GetSrcPath() const;
  37. private:
  38. static DWORD WINAPI MakeMetaFiledProc(void *pParam);
  39. void MakeMetaFiledProcEx();
  40. bool MakeMetaFile();
  41. bool GetName(string strFilePath, string& strName);
  42. static bool SubFiles(string strPath, vector<string> vSubPaths, CSubFilesList& SubFilesList, HANDLE hevDone);
  43. CVal* makeinfo(string strFilePath, long lPieceLength );
  44. void ProgressInfo(float fPercent);
  45. HANDLE m_hevDone;
  46. HANDLE m_hThreadDone;
  47. string m_strFilePath;
  48. string m_strSaveAs;
  49. string m_strUrl;
  50. string m_strComment;
  51. long m_lPieceLenExp;
  52. HWND m_hWnd;
  53. bool m_bResult;
  54. string m_strErr;
  55. };
  56. #endif // !defined(AFX_MAKEMETAFILE_H__ED8343D5_9AB9_41A1_B9A8_A63CDD30BD6D__INCLUDED_)