📄 geturlclient.frm
字号:
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
Begin VB.Form Client
BorderStyle = 1 'Fixed Single
Caption = "监控端使用"
ClientHeight = 2805
ClientLeft = 150
ClientTop = 720
ClientWidth = 3285
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 2805
ScaleWidth = 3285
StartUpPosition = 3 '窗口缺省
Begin VB.ListBox LstURL
Height = 2760
Left = 75
TabIndex = 0
Top = 0
Width = 3120
End
Begin MSWinsockLib.Winsock SeekClient
Left = 120
Top = 660
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin VB.Menu mnuInit
Caption = "查看"
Begin VB.Menu mnuCreat
Caption = "新建(&N)"
Shortcut = ^N
End
Begin VB.Menu mnuOpen
Caption = "打开(&O)"
Shortcut = ^O
End
Begin VB.Menu mnuClose
Caption = "关闭(&C)"
Shortcut = ^C
End
Begin VB.Menu mnuAbout
Caption = "关于[&A]"
End
Begin VB.Menu mnu
Caption = "-"
End
Begin VB.Menu mnuQuit
Caption = "退出(&X)"
Shortcut = ^X
End
End
End
Attribute VB_Name = "Client"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
' 本函数的功能是设定窗体是否总在最前端
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const HWND_NOTOPMOST = -2
Const HWND_TOPMOST = -1
Const Flags = SWP_NOSIZE + SWP_NOMOVE
Dim LastData As String '定义 LastData 用来判断,前后两个网址,是否为一样的
Private Sub Form_Load()
SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, Flags '将窗口置于最上面
SeekClient.RemotePort = 1999 '初始化Winsock控件的远程端口
SeekClient.LocalPort = 1998 '初始化Winsock控件的本地端口
SeekClient.Listen '进行远程连接
Open App.Path & "\TestFile.txt" For Output Access Write As #1 '打开磁盘文件并且赋予Id号为1
LastData = "" '初始化 LastData 为空字符串
MsgBox "请在关闭被监控端程序窗口前,关闭本程序"
End Sub
Private Sub Form_Unload(Cancel As Integer)
SeekClient.Close '关闭 Winsock 控件的服务能力
SetWindowPos hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, Flags '停止本窗体一直在最前端
Close #1 ' 关闭磁盘文件
End Sub
Private Sub mnuAbout_Click()
frmAbout.Show 1
End Sub
Private Sub mnuCreat_Click()
MsgBox "在此处添加新建监控的电脑的IP地址"
End Sub
Private Sub SeekClient_Close()
SeekClient.Close
SeekClient.Listen
End Sub
Private Sub SeekClient_ConnectionRequest(ByVal requestID As Long)
If SeekClient.State <> sckClosed Then
SeekClient.Close '检查控件的 State 属性是否为关闭的。
End If '如果不是,在接受新的连接之前先关闭此连接。
SeekClient.Accept requestID 'Winsock 控件开始接受
End Sub
Private Sub SeekClient_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
SeekClient.GetData strData '获得远程传送的数据流
If strData <> LastData Then
LstURL.AddItem strData
Write #1, strData ' 写入磁盘文件中
LastData = strData
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -