飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

楼主: 1715173329

[易语言] [更新]易语言快速部署工具

  [复制链接]
  • TA的每日心情
    奋斗
    6 天前
  • 签到天数: 372 天

    [LV.9]以坛为家II

    发表于 2017-8-22 00:57:17 | 显示全部楼层
    貌似这个东西很实用哦
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    6 天前
  • 签到天数: 372 天

    [LV.9]以坛为家II

    发表于 2017-8-22 01:10:14 | 显示全部楼层
    很不错,支持!这是DLL文件的源码。



    #pragma once

    // 所有结构体定义按1字节对齐
    #pragma pack(push, 1)

    struct DownTaskParam
    {
            DownTaskParam()
            {
                    memset(this, 0, sizeof(DownTaskParam));
                    nReserved1                 = 5;
                    bReserved                         = FALSE;
                    DisableAutoRename         = FALSE;
                    IsOnlyOriginal                 = FALSE;
                    IsResume                         = TRUE;
            }
        int nReserved;
            wchar_t szTaskUrl[2084];          // 任务URL
            wchar_t szRefUrl[2084];           // 引用页
            wchar_t szCookies[4096];          // 浏览器cookie
            wchar_t szFilename[MAX_PATH];     // 下载保存文件名.
            wchar_t szReserved0[MAX_PATH];
            wchar_t szSavePath[MAX_PATH];     // 文件保存目录
            HWND  hReserved;
            BOOL bReserved;
            wchar_t szReserved1[64];
            wchar_t szReserved2[64];
            BOOL IsOnlyOriginal;            // 是否只从原始地址下载
            UINT nReserved1;
            BOOL DisableAutoRename;         // 禁止智能命名
            BOOL IsResume;                  // 是否用续传
            DWORD reserved[2048];
    };
    enum  DOWN_TASK_STATUS
    {
            NOITEM = 0,
            TSC_ERROR,
            TSC_PAUSE,
            TSC_DOWNLOAD,
            TSC_COMPLETE,
            TSC_STARTPENDING,
            TSC_STOPPENDING
    };
    enum TASK_ERROR_TYPE
    {
            TASK_ERROR_UNKNOWN           =                        0x00,   // 未知错误
            TASK_ERROR_DISK_CREATE =                        0x01,   // 创建文件失败
            TASK_ERROR_DISK_WRITE =                                0x02,   // 写文件失败
            TASK_ERROR_DISK_READ =                                0x03,   // 读文件失败
            TASK_ERROR_DISK_RENAME =                        0x04,   // 重命名失败
            TASK_ERROR_DISK_PIECEHASH =                        0x05,   // 文件片校验失败
            TASK_ERROR_DISK_FILEHASH =                        0x06,   // 文件全文校验失败
            TASK_ERROR_DISK_DELETE =                        0x07,   // 删除文件失败失败
            TASK_ERROR_DOWN_INVALID =                        0x10,   // 无效的DOWN地址
            TASK_ERROR_PROXY_AUTH_TYPE_UNKOWN = 0x20,   // 代理类型未知
            TASK_ERROR_PROXY_AUTH_TYPE_FAILED = 0x21,   // 代理认证失败
            TASK_ERROR_HTTPMGR_NOT_IP =                        0x30,   // http下载中无ip可用
            TASK_ERROR_TIMEOUT =                                0x40,   // 任务超时
            TASK_ERROR_CANCEL =                                        0x41,   // 任务取消
        TASK_ERROR_TP_CRASHED=              0x42,   // MINITP崩溃
        TASK_ERROR_ID_INVALID =             0x43,   // TaskId 非法
    };
    struct DownTaskInfo
    {
            DownTaskInfo()
            {
                    memset(this, 0, sizeof(DownTaskInfo));
                    stat                = TSC_PAUSE;
                    fail_code        = TASK_ERROR_UNKNOWN;
                    fPercent = 0;
                    bIsOriginUsable = false;
                    fHashPercent = 0;
            }
            DOWN_TASK_STATUS        stat;
            TASK_ERROR_TYPE                fail_code;
            wchar_t                szFilename[MAX_PATH];
            wchar_t                szReserved0[MAX_PATH];
            __int64     nTotalSize;         // 该任务总大小(字节)
            __int64     nTotalDownload;     // 下载有效字节数(可能存在回退的情况)
            float                fPercent;           // 下载进度
            int                        nReserved0;
            int                        nSrcTotal;          // 总资源数
            int                        nSrcUsing;          // 可用资源数
            int                        nReserved1;
            int                        nReserved2;
            int                        nReserved3;
            int                        nReserved4;
            __int64     nReserved5;
            __int64                nDonationP2P;       // p2p贡献字节数
            __int64                nReserved6;
            __int64                nDonationOrgin;                // 原始资源共享字节数
            __int64                nDonationP2S;                // 镜像资源共享字节数
            __int64                nReserved7;
            __int64     nReserved8;
            int                        nSpeed;             // 即时速度(字节/秒)
            int                        nSpeedP2S;          // 即时速度(字节/秒)
            int                        nSpeedP2P;          // 即时速度(字节/秒)
            bool                bIsOriginUsable;    // 原始资源是否有效
            float                fHashPercent;       // 现不提供该值
            int                        IsCreatingFile;     // 是否正在创建文件
            DWORD                reserved[64];
    };
    enum DOWN_PROXY_TYPE
    {
            PROXY_TYPE_IE         = 0,
            PROXY_TYPE_HTTP  = 1,
            PROXY_TYPE_SOCK4 = 2,
            PROXY_TYPE_SOCK5 = 3,
            PROXY_TYPE_FTP   = 4,
            PROXY_TYPE_UNKOWN  = 255,
    };
    enum DOWN_PROXY_AUTH_TYPE
    {
            PROXY_AUTH_NONE =0,
            PROXY_AUTH_AUTO,
            PROXY_AUTH_BASE64,
            PROXY_AUTH_NTLM,
            PROXY_AUTH_DEGEST,
            PROXY_AUTH_UNKOWN,
    };
    struct DOWN_PROXY_INFO
    {
            BOOL                bIEProxy;
            BOOL                bProxy;
            DOWN_PROXY_TYPE        stPType;
            DOWN_PROXY_AUTH_TYPE        stAType;
            wchar_t                szHost[2048];
            INT32                nPort;
            wchar_t                szUser[50];
            wchar_t                szPwd[50];
            wchar_t                szDomain[2048];
    };



    #pragma pack(pop)

    namespace DownEngine
    {
        extern "C" __declspec(dllimport) BOOL   XL_Init(void);
        extern "C" __declspec(dllimport) BOOL   XL_UnInit(void);
            extern "C" __declspec(dllimport) HANDLE XL_CreateTask(DownTaskParam &stParam);
            extern "C" __declspec(dllimport) BOOL   XL_DeleteTask(HANDLE hTask);
            extern "C" __declspec(dllimport) BOOL   XL_StartTask(HANDLE hTask);
            extern "C" __declspec(dllimport) BOOL   XL_StopTask(HANDLE hTask);
            extern "C" __declspec(dllimport) BOOL   XL_ForceStopTask(HANDLE hTask);
            extern "C" __declspec(dllimport) BOOL   XL_QueryTaskInfo(HANDLE hTask, DownTaskInfo & stTaskInfo); //旧版接口,使用Ex接口替换
            extern "C" __declspec(dllimport) BOOL   XL_QueryTaskInfoEx(HANDLE hTask, DownTaskInfo & stTaskInfo);
            extern "C" __declspec(dllimport) BOOL        XL_DelTempFile(DownTaskParam &stParam);
            extern "C" __declspec(dllimport) void        XL_SetSpeedLimit(INT32 nKBps);
            extern "C" __declspec(dllimport) void        XL_SetUploadSpeedLimit(INT32 nTcpKBps,INT32 nOtherKBps);
            extern "C" __declspec(dllimport) BOOL        XL_SetProxy(DOWN_PROXY_INFO &stProxyInfo);
            extern "C" __declspec(dllimport) void   XL_SetUserAgent(const wchar_t *pszUserAgent);
            extern "C" __declspec(dllimport) BOOL   XL_ParseThunderPrivateUrl(const wchar_t *pszThunderUrl, wchar_t *normalUrlBuffer, INT32 bufferLen);
            extern "C" __declspec(dllimport) BOOL   XL_SetAdditionInfo( HANDLE task_id, WSAPROTOCOL_INFOW *sock_info, CHAR *http_resp_buf, LONG buf_len );        // WSAPROTOCOL_INFOW定义在Winsock2.h
            extern "C" __declspec(dllimport) HANDLE XL_CreateTaskByURL(const wchar_t *url, const wchar_t *path, const wchar_t *fileName, BOOL IsResume);
            extern "C" __declspec(dllimport) LONG   XL_CreateTaskByThunder(wchar_t *pszUrl, wchar_t *pszFileName, wchar_t *pszReferUrl, wchar_t *pszCharSet, wchar_t *pszCookie);
            extern "C" __declspec(dllimport) LONG   XL_CreateBTTaskByThunder(const wchar_t *pszPath);
    };


    评分

    参与人数 1威望 +4 飘云币 +4 收起 理由
    1715173329 + 4 + 4 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-7-17 10:48
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    发表于 2017-10-30 12:14:41 | 显示全部楼层
    学习了!真的很不错
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2024-3-22 12:48
  • 签到天数: 2104 天

    [LV.Master]伴坛终老

    发表于 2017-10-30 12:38:58 | 显示全部楼层
    感谢楼主分享 ,辛苦了。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2022-5-15 19:46
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2017-11-4 16:54:10 | 显示全部楼层
    谢谢O(∩_∩)O谢谢
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 22:26
  • 签到天数: 1852 天

    [LV.Master]伴坛终老

    发表于 2017-11-4 17:00:42 | 显示全部楼层
    下载学习一下,谢谢!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2022-7-12 23:49
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2017-11-6 09:50:36 | 显示全部楼层
    支持一下啊!!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-1-10 18:00
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2018-1-12 00:56:44 | 显示全部楼层
    这个是个什么
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-4-17 11:49
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    发表于 2018-2-2 03:18:10 | 显示全部楼层
    试试水,谢谢大拿分享。luuuuu
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表