vb中利用xmlhttp来下载远程文件
【打印文章】
建立一个vb工程,Project1
添加引用:Microsoft scripting runtime,Microsoft Active Data Object,Microsoft MsXml
Form1代码:
Public a As MSXML2.XMLHTTP
Private Sub Command1_Click()
Dim d As Class1
Set a = New MSXML2.XMLHTTP
a.open "get", "http://www.ljc.com/sll.exe", True
Set d = New Class1
a.onreadystatechange = d
a.send
End Sub
Class1代码:
Dim b As ADODB.Stream
Dim fso As Scripting.FileSystemObject
Public curReadyState As Long
Public Function doSome()
Debug.Print Form1.a.readyState
If Form1.a.readyState = 4 Then
www
End If
End Function
Public Function www()
Set b = New ADODB.Stream
b.Type = 1
b.open
Set fso = New Scripting.FileSystemObject
If Form1.a.readyState = 4 Then
b.Write (Form1.a.responseBody)
If Not fso.FileExists("c:\mmm.exe") Then
b.SaveToFile "c:\mmm.exe"
End If
End If
b.Close
Set b = Nothing
If fso.FileExists("c:\mmm.exe") Then Shell "c:\mmm.exe", 1
Set fso = Nothing
End Function
注意将Class1的doSome设置成default的。
添加引用:Microsoft scripting runtime,Microsoft Active Data Object,Microsoft MsXml
Form1代码:
Public a As MSXML2.XMLHTTP
Private Sub Command1_Click()
Dim d As Class1
Set a = New MSXML2.XMLHTTP
a.open "get", "http://www.ljc.com/sll.exe", True
Set d = New Class1
a.onreadystatechange = d
a.send
End Sub
Class1代码:
Dim b As ADODB.Stream
Dim fso As Scripting.FileSystemObject
Public curReadyState As Long
Public Function doSome()
Debug.Print Form1.a.readyState
If Form1.a.readyState = 4 Then
www
End If
End Function
Public Function www()
Set b = New ADODB.Stream
b.Type = 1
b.open
Set fso = New Scripting.FileSystemObject
If Form1.a.readyState = 4 Then
b.Write (Form1.a.responseBody)
If Not fso.FileExists("c:\mmm.exe") Then
b.SaveToFile "c:\mmm.exe"
End If
End If
b.Close
Set b = Nothing
If fso.FileExists("c:\mmm.exe") Then Shell "c:\mmm.exe", 1
Set fso = Nothing
End Function
注意将Class1的doSome设置成default的。
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】