中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

vbs 多線程下載實現代碼
來源:易賢網 閱讀:1463 次 日期:2016-06-30 10:58:18
溫馨提示:易賢網小編為您整理了“vbs 多線程下載實現代碼”,方便廣大網友查閱!

話說還是閑來練手,初步實現了自己認為的“多線程”下載。(至于是不是多線程,可以參考12樓鏈接)

為避免冗余,省了一些錯誤檢查。我覺得沒多大實際用途,有興趣的兄弟一起學習討論唄。歡迎大家指正:

代碼如下:

'by wankoilz

url=InputBox("輸入完整下載地址:")

threadCount=InputBox("輸入線程數(不超過10吧,太多就累贅了):")

fileName=GetFileName(url)

filePath=GetFilePath(WScript.ScriptFullName)

Set ohttp=CreateObject("msxml2.xmlhttp")

Set ado=CreateObject("adodb.stream")

Set fso=CreateObject("scripting.filesystemobject")

ado.Type=1

ado.Mode=3

ado.Open

ohttp.open "Head",url,True

ohttp.send

Do While ohttp.readyState<>4

WScript.Sleep 200

Loop

'獲得文件大小

fileSize=ohttp.getResponseHeader("Content-Length")

ohttp.abort

'創建一個和下載文件同樣大小的臨時文件,供下面ado分段重寫

fso.CreateTextFile(filePath&"TmpFile",True,False).Write(Space(fileSize))

ado.LoadFromFile(filePath&"TmpFile")

blockSize=Fix(fileSize/threadCount):remainderSize=fileSize-threadCount*blockSize

upbound=threadCount-1

'定義包含msxml2.xmlhttp對象的數組,·成員數量便是線程數

'直接 Dim 數組名(變量名) 是不行的,這里用Execute變通了一下

Execute("Dim arrHttp("&upbound&")")

For i=0 To UBound(arrHttp)

startpos=i*blockSize

endpos=(i+1)*blockSize-1

If i=UBound(arrHttp) Then endpos=endpos+remainderSize

Set arrHttp(i)=CreateObject("msxml2.xmlhttp")

arrHttp(i).open "Get",url,True

'分段下載

arrHttp(i).setRequestHeader "Range","bytes="&startpos&"-"&endpos

arrHttp(i).send

Next

Do

WScript.Sleep 200

For i=0 To UBound(arrHttp)

If arrHttp(i).readystate=4 Then

'每當一個線程下載完畢就將其寫入臨時文件的相應位置

ado.Position=i*blockSize

MsgBox "線程"&i&"下載完畢!"

ado.Write arrHttp(i).responseBody

arrHttp(i).abort

complete=complete+1

End If

Next

If complete=UBound(arrHttp)+1 Then Exit Do

timeout=timeout+1

If timeout=5*30 Then

'根據文件大小設定

MsgBox "30秒超時!"

WScript.Quit

End If

Loop

If fso.FileExists(filePath&fileName) Then fso.DeleteFile(filePath&fileName)

fso.DeleteFile(filePath&"TmpFile")

ado.SaveToFile(filePath&fileName)

MsgBox "文件下載完畢!"

Function GetFileName(url)

arrTmp=Split(url,"/")

GetFileName=arrTmp(UBound(arrTmp))

End Function

Function GetFilePath(fullname)

arrTmp=Split(fullname,"\")

For i=0 To UBound(arrTmp)-1

GetFilePath=GetFilePath&arrTmp(i)&"\"

Next

End Function

測試下載地址:

代碼如下:

http://www.jb51.net/images/logo.gif

VBS實現 多線程 補充

今天有人發郵件問我一個問題:

想請教一下VBS中INPUTBOX函數能否超時關閉?

如果可以的話,應該如何超時關閉輸入框? 萬分感謝

乍一看這是不可能實現的,因為InputBox函數本身沒有超時關閉的參數,而且程序會一直等待InputBox返回才繼續運行,后面的語句不可能在InputBox返回之前執行。

如果VBS能實現高級語言的多線程的話……只可惜VBS不可能實現多線程,但是可以用setTimeout方法模擬“多線程”。

代碼如下:

Dim IE

Set IE = CreateObject("InternetExplorer.Application")

IE.Navigate "about:blank"

Set window = IE.Document.parentWindow

id = window.setTimeout(GetRef("on_timeout"),3000,"VBScript")

name = InputBox("Please enter your name","InputBox Timeout")

window.clearTimeout id

If name <> "" Then MsgBox "Hello," & name

IE.Quit

'By Demon

'http://demon.tw

Sub on_timeout()

Dim WshShell

set WshShell = CreateObject("wscript.Shell")

WshShell.SendKeys "{ESC}"

End Sub

用setTimeout方法設定3秒超時,3秒后用SendKeys方法發送ESC鍵結束InputBox。當然,用SendKeys是很不靠譜的,我一般很少用SendKeys方法,因為它做了太多的假設,萬一InputBox不是激活窗口呢?這里只是為了程序簡單而用了SendKeys,可以換成結束腳本本身。

同理,想在VBS中實現VB中的Timer事件的話可以用setInterval方法,我就不寫例子了,自己看文檔。

更多信息請查看腳本欄目
易賢網手機網站地址:vbs 多線程下載實現代碼
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲国产免费| 欧美大尺度在线观看| 欧美日韩精品欧美日韩精品一| 亚洲欧美一区二区三区极速播放| 在线免费观看欧美| 国产一区二区精品| 国产精品久久久久久久久久免费 | 亚洲肉体裸体xxxx137| 免费人成精品欧美精品| 久久av红桃一区二区小说| 亚洲天堂第二页| 在线视频欧美精品| 一本色道久久综合| 亚洲精品乱码久久久久久黑人| 国产一区二区av| 欧美视频亚洲视频| 欧美电影打屁股sp| 欧美fxxxxxx另类| 久久久久久久久久看片| 亚洲主播在线播放| 艳妇臀荡乳欲伦亚洲一区| 国产伦一区二区三区色一情| 欧美成人亚洲成人日韩成人| 先锋a资源在线看亚洲| 国产精品久久久一区麻豆最新章节 | 蜜臀av在线播放一区二区三区| 亚洲欧美高清| 一区二区不卡在线视频 午夜欧美不卡'| 怡红院精品视频| 精久久久久久| 极品尤物久久久av免费看| 国产视频一区在线| 国产欧美日韩精品a在线观看| 国产精品久久久久永久免费观看| 国产精品mv在线观看| 欧美巨乳在线观看| 欧美三级精品| 国产精品二区在线| 国产精品欧美一区二区三区奶水| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 亚洲日本aⅴ片在线观看香蕉| 影音先锋日韩精品| 一色屋精品亚洲香蕉网站| 狠狠狠色丁香婷婷综合久久五月 | 亚洲午夜精品国产| 一本久道久久久| 亚洲小说欧美另类婷婷| 亚洲欧美国产高清| 欧美在线视频网站| 久久久精品日韩| 久久精品国内一区二区三区| 久久久久国产精品人| 久久综合狠狠综合久久综合88| 老**午夜毛片一区二区三区| 欧美国产精品人人做人人爱| 欧美午夜一区| 国产日韩精品一区二区| 狠狠色综合色综合网络| 亚洲人成网在线播放| 亚洲色图制服丝袜| 欧美一级久久| 久久国产一区二区三区| 久久精品一区二区国产| 噜噜噜躁狠狠躁狠狠精品视频| 欧美成人一品| 国产精品福利久久久| 国产欧美一区二区三区另类精品| 国产一区二区三区高清在线观看| 亚洲国产合集| 亚洲尤物在线| 美女视频黄a大片欧美| 欧美美女福利视频| 国产女人水真多18毛片18精品视频| 国内精品久久久久久影视8 | 久久大香伊蕉在人线观看热2| 久久久国产成人精品| 欧美日韩精品一区二区| 久久久久久伊人| 国产私拍一区| 欧美天堂亚洲电影院在线播放| 亚洲午夜在线观看视频在线| 欧美日韩精品免费观看视一区二区| 亚洲精品1区2区| 久久精品人人做人人爽| 午夜视频久久久| 欧美自拍偷拍午夜视频| 欧美+亚洲+精品+三区| 欧美日韩一区国产| 欧美日韩亚洲一区| 亚洲精品美女91| 国产亚洲观看| 国产欧美一级| 亚洲一区二区三区在线| 亚洲美女中出| 久久国产色av| 欧美午夜精品电影| 伊人蜜桃色噜噜激情综合| 亚洲特级片在线| 久久久亚洲影院你懂的| 国产精品国产a级| 国产欧美一区二区三区久久| 欧美日韩国产在线播放| 伊人久久婷婷| 欧美一进一出视频| 国产精品久久久久久福利一牛影视 | 在线观看视频亚洲| 性做久久久久久| 欧美片网站免费| 久久久久欧美| 卡通动漫国产精品| 欧美日韩激情小视频| 欧美亚洲一级| 久久精品一区| 国产乱人伦精品一区二区| 亚洲国产一区二区三区在线播| 久久九九免费视频| 国产美女精品视频免费观看| 亚洲手机在线| 欧美日韩精品一区二区三区四区| 亚洲人成欧美中文字幕| 欧美 日韩 国产精品免费观看| 精品成人在线观看| 亚洲一区在线观看免费观看电影高清| 欧美激情女人20p| 亚洲人成欧美中文字幕| 欧美日本一区二区高清播放视频| 亚洲国产1区| 免费久久99精品国产自在现线| 激情五月婷婷综合| 母乳一区在线观看| 99国产精品视频免费观看| 欧美日韩不卡在线| 在线观看久久av| 久久久久久久尹人综合网亚洲| 国产亚洲一区二区三区在线观看 | 国产一区二区欧美| 欧美中文字幕| 国内伊人久久久久久网站视频| 亚洲国产导航| 在线天堂一区av电影| 欧美日韩99| 国产精品天美传媒入口| 欧美日韩午夜视频在线观看| 国产精品久久久| 激情成人综合| 久久精品综合网| 猛男gaygay欧美视频| 91久久精品国产91久久| 免费视频久久| 亚洲第一网站免费视频| 欧美国产精品人人做人人爱| 夜夜嗨av一区二区三区中文字幕| 国产欧美精品在线| 欧美高清不卡| 亚洲天堂av高清| 在线观看日韩精品| 国产日韩精品久久久| 欧美成黄导航| 一区二区欧美日韩| 亚洲激情电影在线| 99综合精品| 9l国产精品久久久久麻豆| 国产麻豆日韩欧美久久| 欧美日韩一区二区三区在线观看免| 香蕉成人久久| 亚洲午夜精品福利| 亚洲综合日韩在线| 欧美日韩国产色视频| 欧美电影在线观看| 欧美成人资源| 欧美经典一区二区三区| 久久久综合香蕉尹人综合网| 久久精品网址| 欧美凹凸一区二区三区视频| 久久精品九九| 欧美高清视频一二三区| 亚洲女性裸体视频| 欧美日本亚洲韩国国产| 美日韩精品视频| 欧美人与禽性xxxxx杂性| 欧美在线免费视频| 亚洲美女性视频| 亚洲男同1069视频| 久久国产一区二区三区| 在线亚洲免费视频| 99国产麻豆精品| 国产一区二区按摩在线观看| 欧美日韩中文字幕在线视频| 国产精品人人爽人人做我的可爱| 欧美日韩一区二区三区| 尹人成人综合网| 欧美福利专区| 欧美成人免费观看| 欧美国产日韩在线| 欧美伦理a级免费电影| 免费h精品视频在线播放| 欧美激情按摩在线| 亚洲精品在线观看免费| 欧美一进一出视频| 国产亚洲网站|