📄 frmmain.frm
字号:
APPCap = "dFreeze Window Manager " + CStr(App.Major) + "." + CStr(App.Minor) + "." + CStr(App.Revision)
frmMain.Caption = APPCap
KillApp ("none")
' Nulled until bug is removed
'ba$ = GetSetting("dFreeze", "Options", "Taskbar", "")
'If ba$ = "Yes" Then
' nid.cbSize = Len(nid)
' nid.hwnd = frmMain.hwnd
' nid.uId = vbNull
' nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
' nid.uCallBackMessage = WM_MOUSEMOVE
' nid.hIcon = frmMain.Icon
' nid.szTip = "dFreeze Window Manager" & vbNullChar
' Shell_NotifyIcon NIM_ADD, nid
'Else
' SaveSetting "dFreeze", "Options", "Taskbar", ""
'End If
If StartMin = True Then
StartMin = False
frmMain.WindowState = 1
End If
Refresh1
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
Dim Msg As Long
Dim sFilter As String
Msg = X / Screen.TwipsPerPixelX
Select Case Msg
Case WM_LBUTTONDOWN
Case WM_LBUTTONUP
Case WM_LBUTTONDBLCLK
If frmMain.Visible = False Then
If frmInfo.Visible = True Or frmAbout1.Visible = True Or frmAbout.Visible = True Or frmHelp.Visible = True Or frmNormal.Visible = True Or frmProcessTerm.Visible = True Or frmRegister.Visible = True Then
Else
frmMain.Visible = True
frmMain.SetFocus
End If
End If
Case WM_RBUTTONDOWN
Case WM_RBUTTONUP
If frmInfo.Visible = True Or frmAbout1.Visible = True Or frmAbout.Visible = True Or frmHelp.Visible = True Or frmNormal.Visible = True Or frmProcessTerm.Visible = True Or frmRegister.Visible = True Then
Else
PopupMenu mnuFile
End If
Case WM_RBUTTONDBLCLK
End Select
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu mnuFile
End Sub
Private Sub Form_Resize()
On Error Resume Next
If Me.WindowState = vbMinimized Then
Me.WindowState = vbNormal
frmMain.Visible = False
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
Dim nid As NOTIFYICONDATA
Shell_NotifyIcon NIM_DELETE, nid
End Sub
Private Sub Frame1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu mnuFile
End Sub
Private Sub Frame3_DblClick()
EasterEgg1 = True
End Sub
Private Sub Frame3_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu mnuFile
End Sub
Private Sub Frame4_DblClick()
EasterEgg2 = True
End Sub
Private Sub Frame4_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu mnuFile
End Sub
Private Sub List1_Click()
List4.ListIndex = -1
A = FindWindow(vbNullString, List1.Text)
R$ = GetWindowTitle(A)
If Left$(R$, 9) = "[Frozen] " Then
txtWindowTitle.Text = List1.Text
Exit Sub
End If
If Left$(List1.Text, 9) = "[Frozen] " Then
B = Len(List1.Text) - 9
fTitle$ = Right$(List1.Text, B)
Else
fTitle$ = List1.Text
End If
txtWindowTitle = fTitle$
End Sub
Private Sub List1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu mnuFile
End Sub
Private Sub List2_Click()
txtProcessTitle = List2.Text
End Sub
Private Sub List2_DblClick()
txtProcessTitle = List2.Text
cmdTerminate2_Click
End Sub
Private Sub List2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu mnuFile
End Sub
Private Sub List4_Click()
List1.ListIndex = -1
A = FindWindow(vbNullString, List4.Text)
R$ = GetWindowTitle(A)
If Left$(R$, 9) = "[Frozen] " Then
txtWindowTitle.Text = List4.Text
Exit Sub
End If
If Left$(List4.Text, 9) = "[Frozen] " Then
B = Len(List4.Text) - 9
fTitle$ = Right$(List4.Text, B)
Else
fTitle$ = List4.Text
End If
txtWindowTitle = fTitle$
End Sub
Private Sub List4_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu mnuFile
End Sub
Private Sub mnuAbout_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
A = frmMain.hwnd
If A <> 0 Then SetWinOnTop = SetWindowPos(A, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
If frmInfo.Visible = True Or frmAbout1.Visible = True Or frmAbout.Visible = True Or frmNormal.Visible = True Or frmProcessTerm.Visible = True Then
Else
frmAbout1.Show
End If
End Sub
Private Sub mnuAbout2_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
A = frmMain.hwnd
If A <> 0 Then SetWinOnTop = SetWindowPos(A, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
If frmInfo.Visible = True Or frmAbout1.Visible = True Or frmAbout.Visible = True Or frmHelp.Visible = True Or frmNormal.Visible = True Or frmProcessTerm.Visible = True Or frmRegister.Visible = True Then
Else
frmAbout1.Show
End If
End Sub
Private Sub mnuCredits_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
A = frmMain.hwnd
If A <> 0 Then SetWinOnTop = SetWindowPos(A, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
If frmInfo.Visible = True Or frmAbout1.Visible = True Or frmAbout.Visible = True Or frmNormal.Visible = True Or frmProcessTerm.Visible = True Then
Else
frmAbout.Show
End If
End Sub
Private Sub mnuCreditsF_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
A = frmMain.hwnd
If A <> 0 Then SetWinOnTop = SetWindowPos(A, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
If frmInfo.Visible = True Or frmAbout1.Visible = True Or frmAbout.Visible = True Or frmHelp.Visible = True Or frmNormal.Visible = True Or frmProcessTerm.Visible = True Or frmRegister.Visible = True Then
Else
frmAbout.Show
End If
End Sub
Private Sub mnuExit_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
Dim nid As NOTIFYICONDATA
rReturn = MsgBox("Are you sure you wish to exit?", vbQuestion + vbYesNo + vbDefaultButton2, "Exit")
If rReturn = vbYes Then
If GetSetting("dFreeze", "Options", "Taskbar", "") = "Yes" Then
Shell_NotifyIcon NIM_DELETE, nid
End If
End
End If
End Sub
Private Sub mnuExit2_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
Dim nid As NOTIFYICONDATA
rReturn = MsgBox("Are you sure you wish to exit?", vbQuestion + vbYesNo + vbDefaultButton2, "Exit")
If rReturn = vbYes Then
If GetSetting("dFreeze", "Options", "Taskbar", "") = "Yes" Then
Shell_NotifyIcon NIM_DELETE, nid
End
End If
End If
End Sub
Private Sub mnuForceClose_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
lReturn = MsgBox("Are you sure?", vbYesNo + vbDefaultButton2, "Force Close")
Select Case lReturn
Case vbYes
ExitWindowsEx 4, 0
Case vbNo
Exit Sub
End Select
End Sub
Private Sub mnuFreeze_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
lReturn = MsgBox("Are you sure?", vbYesNo + vbDefaultButton2, "Freeze Windows")
Select Case lReturn
Case vbYes
FreezeComputer
Case vbNo
Exit Sub
End Select
End Sub
Private Sub mnuLogoff_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
lReturn = MsgBox("Are you sure?", vbYesNo + vbDefaultButton2, "Logoff")
Select Case lReturn
Case vbYes
ExitWindowsEx 0, 0
Case vbNo
Exit Sub
End Select
End Sub
Private Sub mnuOptions_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
A = frmMain.hwnd
If A <> 0 Then SetWinOnTop = SetWindowPos(A, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
frmProcessTerm.Show vbModal
End Sub
Private Sub mnuReboot_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
lReturn = MsgBox("Are you sure?", vbYesNo + vbDefaultButton2, "Reboot")
Select Case lReturn
Case vbYes
ExitWindowsEx 2, 0
Case vbNo
Exit Sub
End Select
End Sub
Private Sub mnuShutdown_Click()
On Error GoTo errorhandler
GoSub begin
errorhandler:
MsgBox Err.Description, vbOKOnly + vbExclamation, "dFreeze Error"
Exit Sub
begin:
lReturn = MsgBox("Are you sure?", vbYesNo + vbDefaultButton2, "Shutdown")
Select Case lReturn
Case vbYes
ExitWindowsEx 1, 0
Case vbNo
Exit Sub
End Select
End Sub
Private Sub tmrEnabled_Timer()
On Error GoTo errorhandler
GoSub begin
errorhandler:
Resume Next
begin:
If List1.Text <> vbNullString Then List1.ToolTipText = List1.Text Else List1.ToolTipText = ""
If List2.Text <> vbNullString Then List2.ToolTipText = List2.Text Else List2.ToolTipText = ""
If List4.Text <> vbNullString Then List4.ToolTipText = List4.Text Else List4.ToolTipText = ""
If frmMain.Caption <> APPCap Then frmMain.Caption = APPCap
If EasterEgg1 = True And EasterEgg2 = True And EasterEgg3 = True Then
EasterEgg1 = False: EasterEgg2 = False: EasterEgg3 = False
If frmMain.Visible = True Then
If frmInfo.Visible = True Or frmAbout1.Visible = True Or frmAbout.Visible = True Or frmHelp.Visible = True Or frmNormal.Visible = True Or frmProcessTerm.Visible = True Or frmRegister.Visible = True Then
Else
frmNormal.Show
End If
End If
End If
For a1 = 0 To List1.ListCount
sTemp = List1.ListIndex
If Left$((List1.List(a1)), 9) = "[Frozen] " Then
B = Len(List1.List(a1)) - 9
tTitle$ = Right$((List1.List(a1)), B)
Else
tTitle$ = List1.List(a1)
End If
a2 = FindWindow(vbNullString, tTitle$)
If a2 = 0 Then
List1.RemoveItem (a1)
If sTemp > List1.ListCount Then sTemp = List1.ListIndex
If sTemp < 0 Then sTemp = 0
If List1.ListCount <> 0 Then List1.ListIndex = sTemp
End If
Next a1
a1 = 0: a2 = 0: tTitle$ = "": sTemp = 0: B = 0
For a1 = 0 To List4.ListCount
sTemp = List4.ListIndex
If Left$((List4.List(a1)), 9) = "[Frozen] " Then
B = Len(List4.List(a1)) - 9
tTitle$ = Right$((List4.List(a1)), B)
Else
tTitle$ = List4.List(a1)
End If
a2 = FindWindow(vbNullString, tTitle$)
If a2 = 0 Then
List4.RemoveItem (a1)
If sTemp > List4.ListCount Then sTemp = List4.ListIndex
If sTemp < 0 Then sTemp = 0
If List4.ListCount <> 0 Then List4.ListIndex = sTemp
End If
Next a1
For keyloop = 1 To 255
KeyResult = GetAsyncKeyState(keyloop)
If KeyResult = -32767 Then
FoundKeys = Chr(keyloop)
If keyloop = 117 Then EasterEgg3 = True
If keyloop = 120 Then
If frmMain.Visible = False Then
frmMain.Visible = True
frmMain.SetFocus
End If
End If
If (keyloop = 122 Or keyloop = 123) Then
If keyloop = 122 Then
A$ = GetSetting("dFreeze", "Terminate", "F11", "")
Else
A$ = GetSetting("dFreeze", "Terminate", "F12", "")
End If
If A$ <> "" Then
cmdRefresh2_Click
For i = 0 To List2.ListCount
If InStr((List2.List(i)), A$) Then
KillApp ((List2.List(i)))
List1.Clear
List2.Clear
Pause 1000
cmdRefresh2_Click
Refresh1
End If
Next i
End If
End If
End If
Next keyloop
If txtProcessTitle.Text = vbNullString Then cmdTerminate2.Enabled = False Else cmdTerminate2.Enabled = True
If txtWindowTitle.Text = vbNullString Or txtWindowTitle.Text = APPCap Or LCase(txtWindowTitle.Text) = "dfreeze" Then
cmdFreeze.Enabled = False
cmdDFreeze.Enabled = False
cmdTerminate.Enabled = False
cmdFocus.Enabled = False
cmdNotOnTop.Enabled = False
cmdOnTop.Enabled = False
cmdFlash.Enabled = False
cmdRename.Enabled = False
cmdMax.Enabled = False
cmdMin.Enabled = False
cmdShow.Enabled = False
cmdHide.Enabled = False
cmdNormal.Enabled = False
cmdRevealPassword.Enabled = False
cmdEnableOptions.Enabled = False
cmdInfo.Enabled = False
cmdFlash.Enabled = False
cmdDisableOptions.Enabled = False
cmdEnableMenuItems.Enabled = False
cmdDisableMenuItems.Enabled = False
Else
cmdFreeze.Enabled = True
cmdDFreeze.Enabled = True
cmdTerminate.Enabled = True
cmdFocus.Enabled = True
cmdNotOnTop.Enabled = True
cmdOnTop.Enabled = True
cmdFlash.Enabled = True
cmdRename.Enabled = True
cmdMax.Enabled = True
cmdMin.Enabled = True
cmdShow.Enabled = True
cmdHide.Enabled = True
cmdNormal.Enabled = True
cmdRevealPassword.Enabled = True
cmdEnableOptions.Enabled = True
cmdInfo.Enabled = True
cmdFlash.Enabled = True
cmdDisableOptions.Enabled = True
cmdEnableMenuItems.Enabled = True
cmdDisableMenuItems.Enabled = True
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -