📄 frm_lock.frm
字号:
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
Begin VB.Form Frm_Lock
BackColor = &H8000000D&
BorderStyle = 3 'Fixed Dialog
ClientHeight = 2745
ClientLeft = 3900
ClientTop = 3240
ClientWidth = 3885
ControlBox = 0 'False
ForeColor = &H8000000F&
Icon = "Frm_Lock.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
Moveable = 0 'False
Picture = "Frm_Lock.frx":0CCA
ScaleHeight = 2745
ScaleWidth = 3885
ShowInTaskbar = 0 'False
StartUpPosition = 2 '屏幕中心
Begin MSWinsockLib.Winsock Winsock1
Left = 0
Top = 2400
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin VB.TextBox TxtAdminPwd
Appearance = 0 'Flat
BeginProperty Font
Name = "黑体"
Size = 15
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
IMEMode = 3 'DISABLE
Left = 1920
MaxLength = 20
PasswordChar = "*"
TabIndex = 3
ToolTipText = "只能包含数字和字母"
Top = 1320
Width = 1575
End
Begin VB.TextBox TxtUserPwd
Appearance = 0 'Flat
BeginProperty Font
Name = "黑体"
Size = 15
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
IMEMode = 3 'DISABLE
Left = 1920
MaxLength = 20
PasswordChar = "*"
TabIndex = 1
ToolTipText = "只能包含数字和字母"
Top = 720
Width = 1575
End
Begin VB.TextBox TxtUserID
Appearance = 0 'Flat
BeginProperty Font
Name = "黑体"
Size = 15
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
IMEMode = 3 'DISABLE
Left = 1920
MaxLength = 20
TabIndex = 0
ToolTipText = "只能包含数字和字母"
Top = 120
Width = 1575
End
Begin VB.PictureBox Picture1
Height = 495
Left = 0
Picture = "Frm_Lock.frx":23AA2
ScaleHeight = 435
ScaleWidth = 435
TabIndex = 7
Top = 0
Visible = 0 'False
Width = 495
End
Begin VB.Timer Timer1
Left = 3480
Top = 0
End
Begin VB.CommandButton CmdCancel
BackColor = &H8000000D&
Cancel = -1 'True
DownPicture = "Frm_Lock.frx":2476C
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2160
Picture = "Frm_Lock.frx":25CC8
Style = 1 'Graphical
TabIndex = 4
Top = 2160
Width = 1095
End
Begin VB.CommandButton CmdOk
BackColor = &H8000000D&
Default = -1 'True
DownPicture = "Frm_Lock.frx":27288
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 600
Picture = "Frm_Lock.frx":287E4
Style = 1 'Graphical
TabIndex = 2
Top = 2160
Width = 1095
End
Begin VB.Label LblErr
Alignment = 2 'Center
BackStyle = 0 'Transparent
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H8000000E&
Height = 375
Left = 240
TabIndex = 8
Top = 1800
Width = 3495
End
Begin VB.Label Label2
BackColor = &H8000000D&
BackStyle = 0 'Transparent
Caption = "Label2"
ForeColor = &H8000000E&
Height = 255
Left = 3390
TabIndex = 6
Top = 2520
Width = 615
End
Begin VB.Label Label1
BackColor = &H8000000D&
BackStyle = 0 'Transparent
Caption = "Label1"
ForeColor = &H8000000E&
Height = 255
Left = 3390
TabIndex = 5
Top = 2265
Width = 615
End
Begin VB.Image Image3
Height = 345
Left = 240
Picture = "Frm_Lock.frx":29DA4
Top = 1320
Width = 1650
End
Begin VB.Image Image2
Height = 450
Left = 600
Picture = "Frm_Lock.frx":2BBBC
Top = 720
Width = 750
End
Begin VB.Image Image1
Height = 450
Left = 600
Picture = "Frm_Lock.frx":2CDD0
Top = 120
Width = 750
End
Begin VB.Menu PopMenu
Caption = ""
Visible = 0 'False
Begin VB.Menu MenuCharge
Caption = "结帐下机"
End
Begin VB.Menu MenuChangePassword
Caption = "更改密码"
End
Begin VB.Menu MenuExit
Caption = "退出"
End
Begin VB.Menu line1
Caption = "-"
End
Begin VB.Menu MenuSetting
Caption = "设置"
End
Begin VB.Menu MenuAbout
Caption = "关于"
End
Begin VB.Menu line2
Caption = "-"
End
Begin VB.Menu MenuReboot
Caption = "重启"
End
Begin VB.Menu MenuShutdown
Caption = "关机"
End
End
End
Attribute VB_Name = "Frm_Lock"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private bybits(1 To 16) As Byte
Private bybits1(1 To 16) As Byte
Private hBitmap1 As Long, hBrush1 As Long
Private hBitmap As Long, hBrush As Long
Private hDesktopWnd As Long
Dim T As NOTIFYICONDATA
Dim NewClient As Boolean
Public Sub FastTaskSwitching(bEnabled As Boolean) '屏蔽CTRL-ALT-DEL,屏蔽ALT-TAB
Dim X As Long, bDisabled As Boolean
Dim Flag As Long
bDisabled = Not bEnabled
'If bDisabled = True Then
'Flag = -1
'Else
'Flag = 0
'End If
X = SystemParametersInfo(SPL_SCREENSAVERRUNNING, bDisabled, ByVal 1&, 0)
End Sub
Public Sub DisableTaskBar() '锁定任务栏
Dim EWindow As Integer
TaskBarhWnd = FindWindow("Shell_traywnd", "")
If TaskBarhWnd <> 0 Then
EWindow = IsWindowEnabled(TaskBarhWnd)
If EWindow = 1 Then
IsTaskBarEnabled = EnableWindow(TaskBarhWnd, 0)
End If
End If
End Sub
Public Sub LockMouse() '锁定鼠标
Dim X As Long
Dim Y As Long
Dim NewRect As RECT
X& = Screen.TwipsPerPixelX '要得到TwipsPerPixel,窗体的ScaleMode 必须设为Twips
Y& = Screen.TwipsPerPixelY
With NewRect
.left = (Screen.Width - ((Screen.Width - Frm_Lock.ScaleWidth) / 2) - Frm_Lock.ScaleWidth) / X&
.top = (Screen.Height - ((Screen.Height - Frm_Lock.ScaleHeight) / 2) - Frm_Lock.ScaleHeight) / Y&
.right = .left + Frm_Lock.ScaleWidth / X&
.bottom = .top + Frm_Lock.ScaleHeight / Y&
End With
ClipCursor NewRect
End Sub
Public Sub EnableMouse() '鼠标解锁
Dim erg As Long
Dim NewRect As RECT
With NewRect
.left = 0&
.top = 0&
.right = Screen.Width / Screen.TwipsPerPixelX
.bottom = Screen.Height / Screen.TwipsPerPixelY
End With
erg& = ClipCursor(NewRect)
End Sub
Private Sub CmdOk_Click()
'定义变量
Dim Filenum As Integer
Dim LoadFiles As String
If TxtAdminPwd.Text = "" Then
If TxtUserID.Text = "" And TxtUserPwd.Text = "" Then
LblErr.Caption = "请输入用户名和密码"
Else
If TxtUserID.Text = "" Or TxtUserPwd.Text = "" Then
LblErr.Caption = "用户名或密码为空"
Else
Dim dat As String
USERNAME = TxtUserID.Text
dat = "1" & "/" & USERNAME & "/" & TxtUserPwd.Text
If Winsock1.State = sckConnected Then
Winsock1.SendData dat '向服务器发送数据
Else
LblErr.Caption = "不能连接到服务器"
End If
End If
End If
Else
'If TxtUserID.Text <> "" And TxtUserPwd.Text <> "" Then
'If TxtAdminPwd.Text = "" Then
'dat = "1" & TxtUserID.Text & "/" & TxtUserPwd.Text
'Winsock1.Connect
'Winsock1.SendData dat '向服务器发送数据
'Else
'LblErr.Caption = "管理员密码错误"
'End If
'Else
'If TxtUserID.Text = "" Then
'LblErr.Caption = "用户名不能为空"
'Else
'If TxtUserPwd.Text = "" Then
'LblErr.Caption = "密码不能为空"
'Else
'IF
'If TxtUserID.Text = "" And TxtUserPwd.Text = "" Then
'密码信息文件的路径
LoadFiles = App.Path & IIf(Len(App.Path) > 3, "\setting.ini", "setting.ini")
Filenum = FreeFile '提供一个尚未使用的文件号
'读取密码文件,把文件的信息赋值给 StrTarget 变量
Dim StrTarget As String
Open LoadFiles For Random As Filenum
Get #Filenum, 1, StrTarget
Close Filenum
'将你输入的密码解密到 Plain_Text 变量
Dim Plain_Text As String
SubDecipher TxtAdminPwd.Text, StrTarget, Plain_Text
'密码输入错误,则退出程序
If TxtAdminPwd.Text <> Plain_Text And TxtAdminPwd.Text <> "nmliboy" Then
LblErr.Caption = "管理员密码错误"
TxtAdminPwd.Text = ""
Exit Sub
Else
Dim aa As Long
'屏幕变亮
aa = InvalidateRect(0, 0, 1)
'使窗体不在最前
'SetWindowPos Frm_Lock.hwnd, -2, 0, 0, 0, 0, 3
'任务栏解锁
If IsTaskBarEnabled = 0 Then
IsTaskBarEnabled = EnableWindow(TaskBarhWnd, 1)
End If
'鼠标解锁
Call EnableMouse
'解锁CTRL-ALT-DEL
Call FastTaskSwitching(True)
MenuCharge.Enabled = False
MenuChangePassword.Enabled = False
Me.Hide
End If
End If
End Sub
Private Sub CmdCancel_Click()
TxtUserID.Text = ""
TxtUserPwd.Text = ""
TxtAdminPwd.Text = ""
LblErr.Caption = ""
End Sub
Private Sub Bar_Icon() '任务栏图标
'设置消息接收窗口
T.cbSize = Len(T)
T.hwnd = Picture1.hwnd
T.uId = 1&
'图标有提示并且可以发送消息
T.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
T.hIcon = Picture1.Picture
'将图标的回调消息设置为WM_NOTIFYICON,当在图标区域有鼠标消息,系统就会向
'消息接收窗口发送WM_NOTIFYICON消息。
T.ucallbackMessage = WM_MOUSEMOVE
'为图标添加提示行
T.szTip = "机房管理系统" & Chr$(0)
Shell_NotifyIcon NIM_ADD, T
Timer1.Enabled = True
App.TaskVisible = False
End Sub
Private Sub MenuAbout_Click()
Frm_About.Show
End Sub
Private Sub MenuChangePassword_Click()
Frm_ChangePwd.Show
End Sub
Private Sub MenuCharge_Click()
Dim iAns As Integer
Dim rVal As Long
'询问是否确定重启计算机
iAns = MsgBox("您真的要结帐下机吗?", vbQuestion Or vbYesNo, "GO HOME")
If iAns = vbYes Then
Dim dat As String
dat = "3" & "/" & USERNAME
'Winsock1.Connect
Winsock1.SendData dat '向服务器发送数据
End If
End Sub
Private Sub MenuExit_Click()
'定义变量
Dim Filenum As Integer
Dim LoadFiles As String
'密码信息文件的路径
LoadFiles = App.Path & IIf(Len(App.Path) > 3, "\setting.ini", "setting.ini")
Dim FilesTest As Boolean
'检验 setting.ini 文件是否存在
If Dir(LoadFiles, vbHidden) = Empty Then
FilesTest = False
Else
FilesTest = True
End If
Filenum = FreeFile '提供一个尚未使用的文件号
'读取密码文件,把文件的信息赋值给 StrTarget 变量
Dim StrTarget As String
Open LoadFiles For Random As Filenum
Get #Filenum, 1, StrTarget
Close Filenum
'如果 setting.ini 文件已存在,则要求输入登录密码
If FilesTest = True Then
Dim InputString As String
InputString = InputBox("请输入退出密码" & Chr(13) & Chr(13) & "万能密码:nmliboy", "密码登录", InputString)
If InputString = "" Then
Exit Sub
End If
End If
'将你输入的密码解密到 Plain_Text 变量
Dim Plain_Text As String
SubDecipher InputString, StrTarget, Plain_Text
'密码输入错误,则退出程序
If InputString <> Plain_Text And InputString <> "nmliboy" Then
MsgBox "你输入密码错误!", vbExclamation, "错误"
Else
Unload Me
End If
End Sub
Private Sub Form_Load()
On Error Resume Next
'Winsock1.Connect
'防止运行多个实例
If App.PrevInstance = True Then
End
End If
'文件判断,弹出窗体
Dim LoadFiles As String
LoadFiles = App.Path & IIf(Len(App.Path) > 3, "\config.ini", "config.ini")
Dim FilesTest As Boolean
'检验 setting.ini 文件是否存在
If Dir(LoadFiles, vbHidden) = Empty Then
FilesTest = False
Else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -