展开全部
调用dos命令
shutdown
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d up:xx:yy]
没有参数 显示此消息(与 ? 相同)
-i 显示 GUI 界面,必须是第一个选项
-l 注销(不能与选项 -m 一起使用)
-s 关闭此计算机
-r 关闭并重启动此计算机
-a 放弃系顷告旁统关机
-m \\友唤computername 远程计雀橡算机关机/重启动/放弃
-t xx 设置关闭的超时为 xx 秒
-c "comment" 关闭注释(最大 127 个字符)
-f 强制运行的应用程序关闭而没有警告
-d [u][p]:xx:yy 关闭原因代码
u 是用户代码
p 是一个计划的关闭代码
xx 是一个主要原因代码(小于 256 的正整数)
yy 是一个次要原因代码(小于 65536 的正整数)
shutdown
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d up:xx:yy]
没有参数 显示此消息(与 ? 相同)
-i 显示 GUI 界面,必须是第一个选项
-l 注销(不能与选项 -m 一起使用)
-s 关闭此计算机
-r 关闭并重启动此计算机
-a 放弃系顷告旁统关机
-m \\友唤computername 远程计雀橡算机关机/重启动/放弃
-t xx 设置关闭的超时为 xx 秒
-c "comment" 关闭注释(最大 127 个字符)
-f 强制运行的应用程序关闭而没有警告
-d [u][p]:xx:yy 关闭原因代码
u 是用户代码
p 是一个计划的关闭代码
xx 是一个主要原因代码(小于 256 的正整数)
yy 是一个次要原因代码(小于 65536 的正整数)
展开全部
不同模式下的自动关机
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, _
ByVal dwReserved As Long) As Long
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Function GetTickCount Lib "kernel32" () As Long
Dim mytime As Date
Dim RUNTIME As Long
Private Sub Timer1_Timer()
Dim HOUR As Integer
Dim MIN As Integer
Dim SEC As Integer
Dim RUN As String
Dim delay As Integer
RUNTIME = GetTickCount() \ 1000
HOUR = Int(RUNTIME \ 3600)
MIN = (RUNTIME - 3600 * HOUR) \ 60
SEC = RUNTIME - 3600 * HOUR - 60 * MIN
RUN = HOUR & ":" & MIN & ":" & SEC
Select Case GetSystemMetrics(SM_CLEANBOOT)
Case 1: Label1.Caption = "安全模式已运行" & Format(RUN, "hH:Mm:Ss")
Case 2: Label1.Caption = "网络安全模式已运行核告" & Format(RUN, "hH:Mm:Ss")
Case Else: Label1.Caption = "正常模式已运行"茄拆 & Format(RUN, "hH:Mm:Ss")
End Select
delay = (Val(Text1.Text) - RUNTIME \ 60 + mytime \ 60)
If Text1.Enabled = False Then
Label3.Caption = "距离关闭计算机还有 " & delay & " 分钟"
If delay = 0 Then Call ExitWindowsEx(EWX_SHUTDOWN, 0)
End If
End Sub
Private Sub Command1_Click()
If Val(Text1.Text) * 60 > 60 Then
Text1.Enabled = False
mytime = RUNTIME
Else
MsgBox ("请输入关机时间,时间要大于改纳明1分钟!")
End If
End Sub
Private Sub Command2_Click()
Text1.Enabled = True
End Sub
Private Sub Command3_Click()
End
End Sub
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, _
ByVal dwReserved As Long) As Long
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Function GetTickCount Lib "kernel32" () As Long
Dim mytime As Date
Dim RUNTIME As Long
Private Sub Timer1_Timer()
Dim HOUR As Integer
Dim MIN As Integer
Dim SEC As Integer
Dim RUN As String
Dim delay As Integer
RUNTIME = GetTickCount() \ 1000
HOUR = Int(RUNTIME \ 3600)
MIN = (RUNTIME - 3600 * HOUR) \ 60
SEC = RUNTIME - 3600 * HOUR - 60 * MIN
RUN = HOUR & ":" & MIN & ":" & SEC
Select Case GetSystemMetrics(SM_CLEANBOOT)
Case 1: Label1.Caption = "安全模式已运行" & Format(RUN, "hH:Mm:Ss")
Case 2: Label1.Caption = "网络安全模式已运行核告" & Format(RUN, "hH:Mm:Ss")
Case Else: Label1.Caption = "正常模式已运行"茄拆 & Format(RUN, "hH:Mm:Ss")
End Select
delay = (Val(Text1.Text) - RUNTIME \ 60 + mytime \ 60)
If Text1.Enabled = False Then
Label3.Caption = "距离关闭计算机还有 " & delay & " 分钟"
If delay = 0 Then Call ExitWindowsEx(EWX_SHUTDOWN, 0)
End If
End Sub
Private Sub Command1_Click()
If Val(Text1.Text) * 60 > 60 Then
Text1.Enabled = False
mytime = RUNTIME
Else
MsgBox ("请输入关机时间,时间要大于改纳明1分钟!")
End If
End Sub
Private Sub Command2_Click()
Text1.Enabled = True
End Sub
Private Sub Command3_Click()
End
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实问题可以有好几种方法得到解决:
在解决之前你要弄明白vb的几个api函数:
1:ExitWindowsEx
VB声明
Declare Function ExitWindowsEx Lib "user32" Alias "枯睁差ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
退出windows,并用特定的选项重新启动
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
uFlags Long,指定下述一个或多个标志(用OR运算符合并到一起)
EWX_FORCE 强迫中止没有响应的进程
EWX_LOGOFF 中止进程,然后注销
EWX_SHUTDOWN 关掉系统电源(如果可能的话,ATX电源就可以)
EWX_REBOOT 重新引导系统
EWX_SHUTDOWN 关闭系统
dwReserved Long,保留,设为零
这个函数调用后会立没皮刻返回,系统关闭过程是在后台进行的。注意先中止自己的应用程序,使关闭过程更显平顺。当然,您的进程必须有足够的优先权,否则也不能执行这种操作
所以你可以这样的解决:
代码:
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Sub Command1_Click()
ExitWindowsEx EWX_SHUTDOWN, 0
End Sub
还有一早正个函数是exitwindow,用法基本相同,你可以看一看!!好运
在解决之前你要弄明白vb的几个api函数:
1:ExitWindowsEx
VB声明
Declare Function ExitWindowsEx Lib "user32" Alias "枯睁差ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
退出windows,并用特定的选项重新启动
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
uFlags Long,指定下述一个或多个标志(用OR运算符合并到一起)
EWX_FORCE 强迫中止没有响应的进程
EWX_LOGOFF 中止进程,然后注销
EWX_SHUTDOWN 关掉系统电源(如果可能的话,ATX电源就可以)
EWX_REBOOT 重新引导系统
EWX_SHUTDOWN 关闭系统
dwReserved Long,保留,设为零
这个函数调用后会立没皮刻返回,系统关闭过程是在后台进行的。注意先中止自己的应用程序,使关闭过程更显平顺。当然,您的进程必须有足够的优先权,否则也不能执行这种操作
所以你可以这样的解决:
代码:
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Sub Command1_Click()
ExitWindowsEx EWX_SHUTDOWN, 0
End Sub
还有一早正个函数是exitwindow,用法基本相同,你可以看一看!!好运
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2006-09-03
展开全部
用SHELL引用SHUTDOWN,简单,一句话程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询