VB里怎么关机

用一个命令按钮,怎么编写啊... 用一个命令按钮,怎么编写啊 展开
 我来答
泉浩涆gm
2006-08-29 · TA获得超过162个赞
知道答主
回答量:131
采纳率:0%
帮助的人:171万
展开全部
调用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 的正整数)
百度网友5634cb7
2006-08-30 · TA获得超过242个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:148万
展开全部
不同模式下的自动关机
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
似水流年00
2006-08-29 · TA获得超过2073个赞
知道小有建树答主
回答量:956
采纳率:0%
帮助的人:1362万
展开全部
其实问题可以有好几种方法得到解决:

在解决之前你要弄明白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,简单,一句话程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式