📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
BackColor = &H00FF0000&
BorderStyle = 1 'Fixed Single
Caption = "WINDOWS SHUT DOWN TIMER PROGRAM"
ClientHeight = 3195
ClientLeft = 3645
ClientTop = 4350
ClientWidth = 4680
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 161
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Icon = "Form1.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3195
ScaleWidth = 4680
Begin VB.Timer Timer2
Left = 4080
Top = 1200
End
Begin VB.ComboBox St
BackColor = &H0000FFFF&
Height = 360
ItemData = "Form1.frx":0442
Left = 2880
List = "Form1.frx":04FA
TabIndex = 8
Text = "00"
Top = 480
Width = 735
End
Begin VB.ComboBox Mt
BackColor = &H0000FF00&
Height = 360
ItemData = "Form1.frx":05EE
Left = 2040
List = "Form1.frx":06A6
TabIndex = 7
Text = "00"
Top = 480
Width = 735
End
Begin VB.ComboBox Ht
BackColor = &H000000FF&
Height = 360
ItemData = "Form1.frx":079A
Left = 1200
List = "Form1.frx":07E6
TabIndex = 6
Text = "01"
Top = 480
Width = 735
End
Begin VB.CommandButton begin
Caption = "SET TIMER"
Default = -1 'True
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 161
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1680
TabIndex = 3
Top = 1200
Width = 1215
End
Begin VB.Timer Timer1
Interval = 10
Left = 4080
Top = 2280
End
Begin VB.Line Line1
BorderColor = &H000000FF&
BorderWidth = 5
Index = 1
X1 = 0
X2 = 4680
Y1 = 3160
Y2 = 3160
End
Begin VB.Line Line4
BorderColor = &H000000FF&
BorderWidth = 5
X1 = 4650
X2 = 4650
Y1 = 0
Y2 = 3240
End
Begin VB.Line Line3
X1 = 4680
X2 = 4680
Y1 = 0
Y2 = 3240
End
Begin VB.Line Line2
BorderColor = &H000000FF&
BorderWidth = 5
X1 = 10
X2 = 10
Y1 = 0
Y2 = 3240
End
Begin VB.Line Line1
BorderColor = &H000000FF&
BorderWidth = 5
Index = 0
X1 = 0
X2 = 4680
Y1 = 10
Y2 = 10
End
Begin VB.Label remain
Alignment = 2 'Center
BackColor = &H00FF0000&
BeginProperty Font
Name = "Arial Black"
Size = 24
Charset = 0
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
ForeColor = &H0000FFFF&
Height = 855
Left = 720
TabIndex = 5
Top = 1920
Width = 3015
End
Begin VB.Label Label6
BackColor = &H00FF0000&
Caption = "Time Setting Until Shut Down"
ForeColor = &H00FFFFFF&
Height = 255
Left = 840
TabIndex = 4
Top = 120
Width = 3015
End
Begin VB.Label Label4
BackColor = &H00FF0000&
Caption = " Hours Mins Secs"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 161
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FFFFFF&
Height = 255
Left = 1080
TabIndex = 2
Top = 840
Width = 2535
End
Begin VB.Label Label3
BackColor = &H00FF0000&
Caption = "TIME UNTIL SHUT DOWN"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 161
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H8000000E&
Height = 375
Left = 1080
TabIndex = 1
Top = 1680
Width = 2415
End
Begin VB.Label Label2
Alignment = 2 'Center
BackColor = &H00FF0000&
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 161
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FFFFFF&
Height = 255
Left = 0
TabIndex = 0
Top = 2880
Width = 4695
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim flag As Boolean
Dim hWindow, hWindow2, X As Long
Dim lngResult As Long
Dim lngReturnValue As Long
Dim totals As Single
Dim mid As Single
Dim sec, sec2 As Single
Dim S, n, H, M, hi, mi, si, sa, Htv, Mtv, Stv, flag2 As Integer
' Use for Windows 95 or Windows NT applications:
Private Type LUID
UsedPart As Long
IgnoredForNowHigh32BitPart As Long
End Type
Private Type TOKEN_PRIVILEGES
PrivilegeCount As Long
TheLuid As LUID
Attributes As Long
End Type
Private Const EWX_SHUTDOWN As Long = 1
Private Const EWX_FORCE As Long = 4
Private Const EWX_REBOOT = 2
Private Declare Function ExitWindowsEx Lib "user32" (ByVal _
dwOptions As Long, ByVal dwReserved As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function OpenProcessToken Lib "advapi32" (ByVal _
ProcessHandle As Long, _
ByVal DesiredAccess As Long, TokenHandle As Long) As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32" _
Alias "LookupPrivilegeValueA" _
(ByVal lpSystemName As String, ByVal lpName As String, lpLuid _
As LUID) As Long
Private Declare Function AdjustTokenPrivileges Lib "advapi32" _
(ByVal TokenHandle As Long, _
ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES _
, ByVal BufferLength As Long, _
PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
Option Explicit
Private Declare Function WaitForSingleObject Lib "kernel32" _
(ByVal hHandle As Long, _
ByVal dwMilliseconds As Long) As Long
Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" _
Alias "PostMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Declare Function IsWindow Lib "user32" _
(ByVal hwnd As Long) As Long
'Constants used by the API functions
Const GWL_STYLE = -16
Const WM_CLOSE = &H10
Const INFINITE = &HFFFFFFFF
Private Sub AdjustToken()
Const TOKEN_ADJUST_PRIVILEGES = &H20
Const TOKEN_QUERY = &H8
Const SE_PRIVILEGE_ENABLED = &H2
Dim hdlProcessHandle As Long
Dim hdlTokenHandle As Long
Dim tmpLuid As LUID
Dim tkp As TOKEN_PRIVILEGES
Dim tkpNewButIgnored As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long
hdlProcessHandle = GetCurrentProcess()
OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or _
TOKEN_QUERY), hdlTokenHandle
' Get the LUID for shutdown privilege.
LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid
tkp.PrivilegeCount = 1 ' One privilege to set
tkp.TheLuid = tmpLuid
tkp.Attributes = SE_PRIVILEGE_ENABLED
' Enable the shutdown privilege in the access token of this process.
AdjustTokenPrivileges hdlTokenHandle, False, _
tkp, Len(tkpNewButIgnored), tkpNewButIgnored, lBufferNeeded
End Sub
Private Sub begin_Click()
sec2 = 0
flag2 = 0
H = Ht.Text
M = Mt.Text
S = St.Text
Htv = Ht.Text
Mtv = Mt.Text
Stv = St.Text
totals = 3600 * Int(H) + 60 * Int(M) + Int(S)
mid = Timer
Timer1.Interval = 0.9
End Sub
Private Sub Form_Load()
Label2.Caption = "CREATED BY NIKOS NANNOS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -