📄 frmshutdown.frm
字号:
VERSION 5.00
Begin VB.Form frmShutDown
Caption = "关机测试"
ClientHeight = 5205
ClientLeft = 60
ClientTop = 345
ClientWidth = 6195
LinkTopic = "Form1"
ScaleHeight = 5205
ScaleWidth = 6195
StartUpPosition = 3 'Windows Default
Begin VB.Frame Frame1
Caption = "SHRestartSystemMB测试:"
Height = 3855
Left = 240
TabIndex = 2
Top = 1080
Width = 5415
Begin VB.CommandButton cmdOk
Caption = "关机"
Height = 435
Left = 2760
TabIndex = 8
Top = 3000
Width = 1275
End
Begin VB.OptionButton Option1
Caption = "Shut Down"
Height = 315
Left = 1500
TabIndex = 7
Top = 480
Width = 2415
End
Begin VB.OptionButton Option2
Caption = "Reboot"
Height = 315
Left = 1500
TabIndex = 6
Top = 840
Width = 2415
End
Begin VB.OptionButton Option3
Caption = "Logoff"
Height = 315
Left = 1500
TabIndex = 5
Top = 1200
Width = 2415
End
Begin VB.CheckBox Check1
Caption = "Power Off"
Height = 315
Left = 1500
TabIndex = 4
Top = 1680
Width = 2235
End
Begin VB.TextBox Text1
Height = 375
Left = 1500
TabIndex = 3
Text = "Windows Shutdown Prompt "
Top = 2160
Width = 2655
End
Begin VB.Label Label2
Caption = "Prompt:"
Height = 375
Left = 780
TabIndex = 9
Top = 2220
Width = 855
End
End
Begin VB.CommandButton cmdShutDownDialog
Caption = "SHShutDownDialog测试"
Height = 615
Left = 3480
TabIndex = 0
Top = 240
Width = 2055
End
Begin VB.Label Label1
Caption = "SHShutDownDialog测试:"
Height = 375
Left = 240
TabIndex = 1
Top = 360
Width = 2055
End
End
Attribute VB_Name = "frmShutDown"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub cmdOk_Click()
'定义标志参数,确定关机的类型
Dim dwFlags As Long
'定义存放操作系统版本信息的结构变量
Dim lpVersionInfo As OSVERSIONINFO
If (Option1.Value) Then
dwFlags = EWX_SHUTDOWN
ElseIf (Option2.Value) Then
dwFlags = EWX_REBOOT
Else
dwFlags = EWX_LOGOFF
End If
If (Check1.Value) Then
dwFlags = dwFlags Or EWX_POWEROFF
End If
lpVersionInfo.dwOSVersionInfoSize = Len(lpVersionInfo)
Call GetVersionEx(lpVersionInfo)
If (lpVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT) Then
'提示字符串要使用以空字符结尾的字符串
'StrPtr函数返回一个Long型指针,指向BSTR类型
'的字符串地址
SHRestartSystemMBW Me.hWnd, _
StrPtr(Text1.Text & vbNullChar), _
dwFlags Or EWX_FORCE
Else
'提示字符串要使用以空字符结尾的字符串
'直接使用字符串即可
SHRestartSystemMBA Me.hWnd, _
Text1.Text & vbNullChar, _
dwFlags Or EWX_FORCE
End If
End Sub
Private Sub cmdShutDownDialog_Click()
SHShutDownDialog 0
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -