批處理 API實現(xiàn)文件下載的代碼第1/2頁
作者:ZV(ZVROP)
目錄:
一.寫在前面的話
二.故事的起因
三.解決-腹稿
四.解決-實戰(zhàn)
五.解決-打造
六.包裝
七.小節(jié)
八.后記
九,參考文獻(xiàn)
正文開始:
一.寫在前面的話
這篇文檔講述的并不是什么新鮮的技術(shù),我只是起到將他們混和起來實現(xiàn)了自己需要的功能的作用,如果你對批處理和PE格式相當(dāng)了解,那我的這篇文檔就權(quán)且當(dāng)作瀏覽溫習(xí)吧...^_^...
另外,由于我本人廢話比較多,這也是不想給雜志寫稿子的主要原因,給我干癟癟的3000字能講出什么來,不如這樣沒有限制的爽快(當(dāng)然也沒什么報酬...一_一..),所以也為了防止你在看文章的途中睡著,請自備小錐子一把.....
最后,這篇文檔說是用批處理下載文件,其實它包含了很多方面的知識,如果有時間,不妨一看哈,^_^,開始買瓜了..
二.故事的起因
最初萌發(fā)這個想法的是不久前,在論壇(廣告一下http://www.s8s8.net)上的UNIX SHELL板塊有個會員發(fā)了一篇帖子,內(nèi)容是用BASH SHELL寫的一個成批下載圖片的腳本(其實是H圖片...一_一..),接下來跟貼那個多啊...,有繁衍出PHP的,VBS的,C的,C#的,JAVA的,甚至交流到多線程,斷點續(xù)傳....引用花大哥的一句話"無語,為了MM照片,大家的動力都很足啊!"...汗~~..
在發(fā)了一份PHP和C的代碼后(感覺我動力特足~一_一..),覺得很簡單(因為用C或者PHP等腳本來實現(xiàn)文件的下載本來就是很基礎(chǔ)的東西)我就開始想用微軟最原始的腳本--Batch(批處理)來嘗試實現(xiàn)(本文標(biāo)題中的"閑來無事"就是紀(jì)念此處,一_一.),這似乎有點不可思議,因為批處理幾乎沒有實現(xiàn)的支持網(wǎng)絡(luò)的功能(當(dāng)然,如果你說你能用TELNET下載到文件的我是很佩服的..一_一..),但也不是完全沒有辦法,畢竟WINDOWS里面能用的東西這么多,沒有完不成的事情....在這種挑戰(zhàn)的勾引下,我完成了用批處理下載文件的功能....現(xiàn)在讓我一步一步回放我的思路,揭開用批處理下載文件的奧秘...
三.解決-腹稿
如果用批處理來下載文件的話,肯定會馬上想到Cscript腳本(或者是JAVA腳本),那是當(dāng)然,太多的批處理腳本實現(xiàn)一些本身并不可能實現(xiàn)的功能的時候都是采用ECHO出一個其他腳本的方法來解決.可是我們的目的就在于用批處理實現(xiàn)下載的功能,如果要用VBS來幫忙的話不如直接寫VBS了.這個想法順即告吹....
再來,記得以前有流行過一陣用RUNDLL32來加載DLL中的API,似乎和我們需要的目的沾邊,因為下載文件能用的API太多了,如果RUNDLL能調(diào)用,那最好不過了.于是我打開MSDN,找了一個API: URLDownloadToFile
URLDownloadToFile函數(shù)原型:
代碼
HRESULT URLDownloadToFile(
LPUNKNOWN pCaller,
LPCTSTR szURL,
LPCTSTR szFileName,
DWORD dwReserved,
LPBINDSTATUSCALLBACK lpfnCB
);
URLDownloadToFile函數(shù)的一些信息:
引用
Header Urlmon.h
Import library Urlmon.lib
Minimum availability Internet Explorer 3.0
Minimum operating systems Windows NT 4.0, Windows 95
相關(guān)文章
用批處理網(wǎng)絡(luò)映射驅(qū)動器后自動修改磁盤卷標(biāo)名腳本
于一些企業(yè),內(nèi)網(wǎng)的文件服務(wù)器和傳真服務(wù)器非常常見。為了方便,網(wǎng)絡(luò)管理員一般會把服務(wù)器上一些的文件夾他們映射為本地磁盤,方便用戶使用。2011-08-08cmd dir結(jié)構(gòu)樹顯示代碼(列出目錄文件)
這篇文章主要是用dir命令的使用,在當(dāng)前目錄生成很漂亮的結(jié)構(gòu)樹,象DIR命令一樣,不過每個下級目錄文件也列出2012-09-09批處理中Copy與Xcopy命令的區(qū)別小結(jié)
本文介紹下,批處理腳本中,copy命令與xcopy命令在用法上的一些區(qū)別,感興趣的朋友可以參考下2014-05-05秒用自動關(guān)機(jī)命令實現(xiàn)定時提醒你該睡覺了
晚上游戲玩得太瘋了,忘記了要睡覺利用自動關(guān)機(jī)命令讓電腦提醒你該睡覺了,具體實現(xiàn)如下,睡眠不足的朋友可要看看哦2013-09-09