最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用VBS讀寫二進制文件的另一種方法分享

 更新時間:2013年01月14日 00:44:47   投稿:mdxy-dxy  
雖然我沒有把那個程序解密出來(如果哪位真正的高手會,麻煩指點一下),但是從中領(lǐng)悟出了用VBS讀寫二進制文件的另一種方法,即Microsoft.XMLDOM+ADODB.Stream。這個方法的效率比原來那個高得多,而且似乎沒有文件大小限制

之前寫的那篇給出的方法雖然不錯,但是當(dāng)文件過大時(其實很小,也就幾M),對應(yīng)的數(shù)組也會很大,然后會出現(xiàn)運行時錯誤,提示內(nèi)存耗盡,為此我郁悶了好久。

雖然我沒有把那個程序解密出來(如果哪位真正的高手會,麻煩指點一下),但是從中領(lǐng)悟出了用VBS讀寫二進制文件的另一種方法,即Microsoft.XMLDOM+ADODB.Stream。這個方法的效率比原來那個高得多,而且似乎沒有文件大小限制。

復(fù)制代碼 代碼如下:

Function ReadBinary(FileName)
Const adTypeBinary = 1
Dim stream, xmldom, node
Set xmldom = CreateObject("Microsoft.XMLDOM")
Set node = xmldom.CreateElement("binary")
node.DataType = "bin.hex"
Set stream = CreateObject("ADODB.Stream")
stream.Type = adTypeBinary
stream.Open
stream.LoadFromFile FileName
node.NodeTypedValue = stream.Read
stream.Close
Set stream = Nothing
ReadBinary = node.Text
Set node = Nothing
Set xmldom = Nothing
End Function

函數(shù)的參數(shù)是要讀取的文件路徑,返回值是包含二進制文件的十六進制值的字符串。
復(fù)制代碼 代碼如下:

Sub WriteBinary(FileName, Buf)
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Dim stream, xmldom, node
Set xmldom = CreateObject("Microsoft.XMLDOM")
Set node = xmldom.CreateElement("binary")
node.DataType = "bin.hex"
node.Text = Buf
Set stream = CreateObject("ADODB.Stream")
stream.Type = adTypeBinary
stream.Open
stream.write node.NodeTypedValue
stream.saveToFile FileName, adSaveCreateOverWrite
stream.Close
Set stream = Nothing
Set node = Nothing
Set xmldom = Nothing
End Sub

第一個參數(shù)是要讀入的文件路徑,第二個參數(shù)是包含二進制文件的十六進制值的字符串。至于如何獲得二進制文件的十六進制值,那方法就很多了,最簡單的方法當(dāng)然就是用fso對象將ReadBinary函數(shù)的返回值寫到文本文件中去,然后Ctrl+C,Ctrl+V。其實用十六進制工具也很簡單。

其他的就不多說了,看不懂的多看看MSDN參考文檔。寫了一個示例程序,里面包含了天空之城音樂的所有數(shù)據(jù),雙擊后在同一文件夾生成天空之城的MP3文件并播放。

原文:http://demon.tw/programming/vbs-binary-file-another.html

相關(guān)文章

最新評論

内黄县| 清河县| 博罗县| 卫辉市| 凤翔县| 宜黄县| 迭部县| 张家界市| 江津市| 井冈山市| 平山县| 沁阳市| 贵溪市| 夹江县| 永宁县| 双鸭山市| 化州市| 靖远县| 仪征市| 吴川市| 新化县| 万州区| 石泉县| SHOW| 凌源市| 开封市| 沂源县| 潢川县| 金川县| 托克逊县| 丰镇市| 宁武县| 蛟河市| 黑河市| 安国市| 兴宁市| 鄂尔多斯市| 万年县| 凤山市| 长武县| 乐清市|