📄 form5.vb
字号:
Public Class Form5
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.TextBox2.Text = Me.BinToStr(Me.GetFavIcoFun(Me.TextBox1.Text))
End Sub
Function GetFavIcoFun(ByVal iconUrl As String) As Byte()
Dim objIcon As IO.MemoryStream
Dim sURL As String = Trim(iconUrl)
If Not sURL.ToLower().StartsWith("http://") Then sURL = "http://" & sURL
Dim URLReq As Net.HttpWebRequest, URLRes As Net.HttpWebResponse
Dim bBufferSize As Integer = 1000
Dim bBuffer(bBufferSize - 1) As Byte, pos As Integer, B() As Byte = Nothing
URLReq = DirectCast(Net.WebRequest.Create(sURL), Net.HttpWebRequest)
URLRes = DirectCast(URLReq.GetResponse, Net.HttpWebResponse)
Dim sChunks As IO.Stream = URLReq.GetResponse.GetResponseStream
Dim L As Integer = 0
Do
pos = sChunks.Read(bBuffer, 0, bBufferSize)
L += pos
ReDim Preserve B(L - 1)
Array.Copy(bBuffer, 0, B, L - pos, pos)
Loop Until pos = 0
sChunks.Close()
objIcon = New IO.MemoryStream(B)
Me.Icon = New Icon(objIcon)
Return B
End Function
Public Function BinToStr(ByVal inBytes() As Byte) As String
Dim sb As New System.Text.StringBuilder
' Dim u As New System.Text.UnicodeEncoding
'Dim u As New System.Text.ASCIIEncoding
Dim u As New System.Text.ASCIIEncoding
Dim cc() As Char = u.GetChars(inBytes)
For Each c As Char In cc
sb.Append(c.ToString)
Next
Return sb.ToString
End Function
Private memDisk As Integer = 10 * 100
Private bufferSize As Integer = CInt(Me.memDisk / 100)
Sub DoDownload(ByVal file As String, ByVal url As String)
Dim ns As System.IO.Stream = Nothing : Dim request As Net.HttpWebRequest
Dim fs As New IO.FileStream(file, System.IO.FileMode.OpenOrCreate, IO.FileAccess.Write, IO.FileShare.ReadWrite)
Dim b(bufferSize - 1) As Byte : Dim ret As Integer
Dim memB(memDisk - 1) As Byte
Try
MsgBox(url)
request = CType(Net.HttpWebRequest.Create(url), Net.HttpWebRequest)
'接收的起始位置及接收的长度
ns = request.GetResponse.GetResponseStream
Dim L As Integer = 0
Do
ret = ns.Read(b, 0, bufferSize)
If L + ret >= memDisk Then
fs.Write(memB, 0, L)
L = ret
Else
L += ret
End If
Array.Copy(b, 0, memB, L - ret, ret)
Loop Until ret = 0
fs.Write(memB, 0, L)
'ret = ns.Read(b, 0, bufferSize)
'While ret > 0
' If Me.m_stop = True Then Exit While
' fs.Write(b, 0, ret)
' Me.m_speed += ret
' Me.m_nowPos += ret
' While speedlimit
' System.Threading.Thread.Sleep(10)
' If Me.m_stop = True Then Exit While
' End While
' ret = ns.Read(b, 0, bufferSize)
'End While
fs.Close()
ns.Close()
' RaiseEvent thStop(Me, Me.MyThreadData)
Catch ex As Exception
' Me.thisThNoErrStop = False
' RaiseEvent thStop(Me, Me.MyThreadData)
Debug.WriteLine("出错" & Now.ToString & " : " & ex.Message)
Finally
If fs Is Nothing = False Then fs.Close()
If ns Is Nothing = False Then ns.Close()
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim th As New System.Threading.Thread(AddressOf Me.dd)
th.Start()
End Sub
Sub dd()
Dim s1 As String = TextBox1.Text
Dim s2 As String = TextBox2.Text
s1 = "m:\1.txt"
DoDownload(s1, s2)
MsgBox(123)
End Sub
Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim s As IO.Stream
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -