|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
// InternetGet<65><74>
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2008-11-09
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include <afxsock.h> // MFC socket extensions
|
|
|
|
|
|
#include <afxinet.h>
|
|
|
|
|
|
|
|
|
|
|
|
class CInternetGet
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CInternetGet(void);
|
|
|
|
|
|
virtual ~CInternetGet(void);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual bool IsOpenConnection(void);
|
|
|
|
|
|
// open the connection
|
|
|
|
|
|
virtual bool OpenConnection(CString server, LPCTSTR lpstrUserName=NULL, LPCTSTR lpstrPassordword=NULL);
|
|
|
|
|
|
// close the connection
|
|
|
|
|
|
virtual bool CloseConnection();
|
|
|
|
|
|
|
|
|
|
|
|
virtual bool Open(LPCTSTR lpstrRemote);
|
|
|
|
|
|
virtual void Close(void);
|
|
|
|
|
|
virtual bool IsOpen(void);
|
|
|
|
|
|
virtual UINT Read(void* lpBuf, UINT nCount);
|
|
|
|
|
|
virtual ULONGLONG Seek(ULONGLONG nOffset, UINT nFrom);
|
|
|
|
|
|
virtual CStdioFile* GetStdioFile(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual bool GetFile(LPCTSTR lpstrRemote, CFile* fw);
|
|
|
|
|
|
virtual bool GetFile(LPCTSTR lpstrRemote, LPCTSTR lpstrLocal);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void ExchangeBuffer(void* pBuf, UINT len); //<2F><>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ϣ
|
|
|
|
|
|
virtual void SetInformation(LPCTSTR lpstrInfo);
|
|
|
|
|
|
virtual void SetInformation(UINT nInfoID);
|
|
|
|
|
|
virtual void SetProgressDlg(CWnd* pDlg);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
virtual void SetPos(int nPos);
|
|
|
|
|
|
|
|
|
|
|
|
DWORD GetCurrentFileLength(void);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL IsAbortFlag(void);
|
|
|
|
|
|
void SetAbortFlag(BOOL bAbort);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
void PeekMessageLoop(void);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CInternetSession *pInternetSession;
|
|
|
|
|
|
BOOL m_bAbortFlag; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ֹ<EFBFBD><D6B9>ǰ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
|
|
|
|
|
|
CString strAppName;
|
|
|
|
|
|
|
|
|
|
|
|
DWORD m_uCurFileLength; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ij<EFBFBD><C4B3><EFBFBD>
|
|
|
|
|
|
ULONGLONG m_uTotalRead; //<2F>Ѷ<EFBFBD><D1B6>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ܵij<DCB5><C4B3><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
CString strServerName;
|
|
|
|
|
|
|
|
|
|
|
|
void CatchException(CInternetException* pEx);//<2F><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
CString GetBytesString(ULONGLONG nLength);
|