这是一个利用线程池测试局域网中哪些IP地址可以Ping通的例子,原作者文章参见http://hi.baidu.com/xjnzhidao/blog/item/a0cec53c66e062a9d1a2d377.html。原作者提供的代码是控制台代码,博主改为WinForm代码。
新建一个WinForm,然后在窗体上放置两个文本框,命名为IpBox1和IpBox2,一个多行文本框和两个按钮,如图:
下面是代码:
Imports System.Threading
Public Class Form1
Private myThread As Thread
Shared ExitFlag As Boolean = False
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
myThread = New Thread(AddressOf WorkStart)
myThread.Start()
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
ExitFlag = True
MsgBox("线程终止!")
End Sub
Private Sub WorkStart()
Dim I As Integer, J As String = ""
Dim lStart As Long, lEnd As Long
Dim iCount As Integer = 0
Dim sResult As String
Dim NumOfHost As Integer
Try
NumOfHost = Convert.ToInt16(Split(IpBox2.Text, <