找回密码
 加入
搜索
查看: 2366|回复: 9

AU3下载功能可否多线程下载?

[复制链接]
发表于 2009-10-8 00:46:26 | 显示全部楼层 |阅读模式
如题,不知有谁会的提供下源码参考!
发表于 2009-10-8 07:25:55 | 显示全部楼层
同问顶起.搜索未果..
 楼主| 发表于 2009-10-8 10:05:29 | 显示全部楼层
  别沉了,继续啊!
发表于 2009-10-8 10:13:53 | 显示全部楼层
官网上有例子,搜索一下吧
 楼主| 发表于 2009-10-8 10:41:09 | 显示全部楼层
官网上有例子,搜索一下吧
menfan 发表于 2009-10-8 10:13



帮找下,我一进官网就卡的要死,等一会可以动了,刚动一下就又卡了!
发表于 2009-10-8 17:00:31 | 显示全部楼层
1# 那片叶子
; example code
If $CmdLine[0] = 0 Then
    Global $example[4]
    $example[1] = "http://www.youtube.com"
    $example[2] = "http://www.yahoo.com"
    $example[3] = "http://www.msn.com"
    _InetGet_MultiThread($example, 3)
EndIf

; file "InetGetMultiThread.au3" code starts here
; requires
#include <File.au3>
#include <INet.au3>

If $CmdLine[0] >= 1 Then
    If $CmdLine[1] = "MultiThread" Then
        $filename = StringTrimLeft($CmdLine[3], StringInStr($CmdLine[3], "/", 0, -1))
        If StringRight($filename, 4) <> "html" And StringRight($filename, 4) <> ".htm" And StringRight($filename, 4) <> ".php" Then
            $filename &= ".html"
        EndIf
        InetGet($CmdLine[3], $filename, 1, 0)
        IniWrite(@ScriptDir & "\MultiThread.ini", "Section", "Thread" & $CmdLine[2], "0")
        Exit
    EndIf
EndIf

; function (array [containing urls], number [of threads to use])
; array element [0] is ignored
Func _InetGet_MultiThread(ByRef $inGMT_arr, $inGMT_threads)
    Global $Thread_Control[$inGMT_threads+1]
    Dim $inGMT_arr_UB = UBound($inGMT_arr)
    Dim $inGMT_Progress = 0
    If FileExists(@ScriptDir & "\MultiThread.ini") = 0 Then
        $InGMT_i = 1
        For $InGMT_i = 1 To $inGMT_threads
            IniWrite(@ScriptDir & "\MultiThread.ini", "Section", "Thread" & $InGMT_i, "0")
        Next
    EndIf
    While 1
        $InGMT_i = 1
        For $InGMT_i = 1 To $inGMT_threads
            $Thread_Control[$InGMT_i] = IniRead(@ScriptDir & "\MultiThread.ini", "Section", "Thread" & $InGMT_i, "")
        Next
        If $inGMT_Progress < $inGMT_arr_UB -1 Then
            $InGMT_i = 1
            For $InGMT_i = 1 To $inGMT_threads
                If $Thread_Control[$InGMT_i] = 0 Then
                    $inGMT_Progress += 1
                    ShellExecute(@ScriptName, "MultiThread" & " " & $InGMT_i & " " & $inGMT_arr[$inGMT_Progress], "", "Run")
                    IniWrite(@ScriptDir & "\MultiThread.ini", "Section", "Thread" & $InGMT_i, "1")
                EndIf
                If $inGMT_Progress = $inGMT_arr_UB -1 Then
                    ExitLoop
                EndIf
            Next
        Else
            $finished = 0
            $InGMT_i = 1
            For $InGMT_i = 1 To $inGMT_threads
                $finished += $Thread_Control[$InGMT_i]
            Next
            If $finished = 0 Then
                ExitLoop
            EndIf
        EndIf
    WEnd
    FileDelete(@ScriptDir & "\MultiThread.ini")
    MsgBox(0, "", "multi pass!", 1)
    Return 1
EndFunc
参见总站:http://www.autoitscript.com/foru ... =1&#entry665925
同时下载多个文件,而非单文件多线程下载...
发表于 2009-10-8 17:05:03 | 显示全部楼层
刚又搜索了一遍.没找到..英文水平也有限..期待有人..
发表于 2009-10-9 23:27:44 | 显示全部楼层
最新版本可以  下载来一看便知~
发表于 2009-10-12 07:32:35 | 显示全部楼层
可以?怎么可以?adlibregister?
 楼主| 发表于 2009-10-29 00:32:52 | 显示全部楼层
别沉啊!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-22 19:11 , Processed in 0.078299 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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