📄 1.txt
字号:
Option Explicit
Dim lngNextPort As Long '定义全局变量
Private Sub cmdClearList_Click() '清除开放端口的列表按钮
Me.lstOpenPorts.Clear '将列框清空
End Sub
Private Sub cmdScan_Click() '开始扫描按钮
Dim i As Integer
lngNextPort = Val(Me.txtLowerBound) '起始端口
For i = 1 To Val(Me.txtMaxConnections)
Load Me.wskSocket(i) '动态创建多个Winsock控件,开启多线程
lngNextPort = lngNextPort + 1
Me.wskSocket(i).Connect Me.txtIP, lngNextPort '连接指定IP和端口
Next i
End Sub
Private Sub cmdStop_Click() '停止按钮
Dim intI As Integer
For intI = 1 To Val(Me.txtMaxConnections)
Me.wskSocket(intI).Close
Unload Me.wskSocket(intI) '关闭及卸载winsock
Next intI
End Sub
Private Sub timTimer_Timer()
Me.sbMain.Panels(1).Text = "Current Port: " + Str(lngNextPort)
End Sub
Private Sub Try_Next_Port(Index As Integer)
Me.wskSocket(Index).Close
If lngNextPort < Val(Me.txtUpperBound) Then
Me.wskSocket(Index).Connect , lngNextPort '连接端口
lngNextPort = lngNextPort + 1
Else
Unload Me.wskSocket(Index)
End If
End Sub
Private Sub wskSocket_Connect(Index As Integer)
Me.lstOpenPorts.AddItem "port:" + Str(Me.wskSocket(Index).RemotePort) '将扫描到的端口加入列表框
Try_Next_Port (Index)
End Sub
Private Sub wskSocket_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Try_Next_Port (Index)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -