小弟想请教一下各位vb大神,如何用vb实现自动关机 115

这是部分代码,想实现以下功能:选择“确定”,立即关机选择”取消“,关闭窗口如果20秒没有操作默认自动关机dimmsetwshshell=wscript.createobj... 这是部分代码,想实现以下功能:
选择“确定”,立即关机
选择”取消“,关闭窗口
如果20秒没有操作默认自动关机
dim m
set wshshell=wscript.createobject("wscript.shell")
wshshell.run "shutdown -s -t 20"
m=MsgBox("是否关机,默认将在20秒后关机",vbokcancel,"自动关机")
If m=vbok Then
wshshell.run "shutdown -s -t 0"
End If
If m=vbcancel Then
wshshell.run "shutdown -a"
MsgBox "关机已取消!",64,"自动关机"
End If
请各位大大给指点一二,最好是能写完整代码,我是个小白,其实本来还想实现这个关机程序部分仅在5点之后启动,但是不太会,谢谢各位专家指点
展开
 我来答
创作者zUzVB1Sl31
2014-12-31 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部
set wshshell=wscript.createobject("wscript.shell")
wshshell.run "at 17:00 shutdown -s"

在记事本里这么写,写完后保存,再把记事本后缀改成vbs,把这个VBS文件放在系统的启动目录下(360会把人物VBS当病毒的)。这样他就自动关机了,系统启动就运行了他,到点他就执行。

从此以后你的电脑就是一到下班时间17:00自己会关机的。at后面时间你可以以记事本打开去修改的。这样的代码就够完整了,你哪些写的没什么实际用处,系统开始菜单明明就有开关机的按钮,还需要你去写吗?如果我们编程就为做这些画蛇添足的事情,那学来做什么用?自动关机是有必要的,你晚上看电视,电脑在一边,可以设置他定时关机,在运行里面直接输入:

at 22:00 shutdown -s 意思就是在22:00的时候自动关机。

VBS代码可以直接执行,把他放启动文件里面,意思是一开机就执行他,到点后自动关闭,防止下班后检查是否关电脑还是有点用的。在服务器上我们也可以这样,把语句改一下:

at 4:00 shutdown -r    意思是让服务器在每天 4点的时候重启一下,以免造成数据服务死锁或者网页访问卡死。

追问
我就是为了下班后检查是否关电脑,所以设置一个提示框,默认自动关机,如果需要继续用电脑选否,您给的这个好像不能实现我的功能
coolsport
2015-01-30 · TA获得超过194个赞
知道小有建树答主
回答量:494
采纳率:0%
帮助的人:208万
展开全部
Dim ff As Boolean
Private Sub Timer1_Timer()
Timer1.Interval = 1000
If Hour(Time) = 5 Or Hour(Time) = 17 Then
Timer2.Enabled = True
ff = True
Else
DoEvents
End If
If ff = False Then Timer2.Enabled = False
End Sub

Private Sub Timer2_Timer()
Dim m As String
m = MsgBox("是否关机,默认将在20秒后关机", vbOKCancel, "自动关机")
If m = vbOK Then
wshshell.run "shutdown -s -t 0"
Else
MsgBox "关机已取消!", 64, "自动关机"
ff = False

End If
End Sub
在单位不能实验,vb6.0+sp6.希望能帮助到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ling61555
2015-01-28 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:65.6万
展开全部
要在5点关机
那么你需要一个timer..时间间隔设置成1秒..程序打开就开始运行..
在timer中判断.当前时间是否是5点或者超过5点..则进行关机..否则不做任何操作.

msgbox 20秒无操作一样的道理.当弹出msgbox后.你需要另外一个timer来开始计时.20秒自动执行关机操作.

关机VB是可以直接 shell 执行关机DOS命令的.

自己实践一下..给你提供思路...自己做出来才有成就感..希望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仰望天0
2015-02-01 · TA获得超过959个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:83.8万
展开全部
简单点的话直接调用命令提示符的命令
shell ("shutdown -s -t 0") '0是时间,秒为单位,即马上关机

复杂一点(稳定一点)的就调用API把

ExitWindowsEx (VB API函数浏览器查一下)

Private Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

容易实现注销

但是关机需要提升权限。。。

call exitwindows(EWX_LOGOFF,0)

你试试吧,可以查一下MSDN
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ljl88900
2015-01-10 · TA获得超过2661个赞
知道大有可为答主
回答量:2197
采纳率:100%
帮助的人:2684万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式