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

📄 downloadcntl.h

📁 个人封装的一个VC++支持多任务、多线程断点续传的DLL组件
💻 H
字号:
// DownloadCntl.h: interface for the CDownloadCntl class.
// 下载总控类,跟调用者交互的接口
// ileadsoft gd 2008-7-23
//////////////////////////////////////////////////////////////////////
// Download by http://www.codefans.net
#if !defined(AFX_DOWNLOADCNTL_H__ACCC2648_AF4A_4CD3_BEA5_D81DCA641DDE__INCLUDED_)
#define AFX_DOWNLOADCNTL_H__ACCC2648_AF4A_4CD3_BEA5_D81DCA641DDE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "DownloadMTR.h"

// 类链表结点
typedef struct node
{
	void *info;
	struct node *link;
}NODE;

class CDownloadCntl  
{
private:
	CDownloadMTR *m_pCurDownloadMTR;
	int m_nCurDownloadMTRPos;

	NODE *m_pHead;   // 指向头结点的指针,为其info指针分配一个空间,可以用来记录链表的结点个数

	CCriticalSection m_csCntl;  // 访问共享锁

public:
	CDownloadCntl();
	virtual ~CDownloadCntl();

	int GetTaskNum();

	int AddTask( char *pszUrl, char *pszSavePath, char *pszSaveFileName, int nThreadNum );
	int SelTask( int nPos );  // 选中一个任务
	int RemoveTask();		  // 删除选中的任务

	// 查询一个任务的状态
	int QueryState( int nPos, 
					int &nFileTotaleSize, 
					int &nTotalDownloadedSize,
					int &nTotalDownloadedSize_ThisTimes,
					int &nDownloadElapsedTime ); 
};

#endif // !defined(AFX_DOWNLOADCNTL_H__ACCC2648_AF4A_4CD3_BEA5_D81DCA641DDE__INCLUDED_)

⌨️ 快捷键说明

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