Private Sub Command1_Click()
Dim j As Integer
j = MsgBox("真的关闭计算机吗?", 36, "提示")
t = 5 '5秒
If j = 6 Then
Shell "cmdexe /c shutdown -s -t " & t
End If
End Sub
你的时间变量i 不能在引号里~应该在引号外~用连接符号连接起来~注意参数间有空格。
Dim
RTime,
strTime,
NHour,
NMinute,
WSH,
bl
Set
WSH
=
CreateObject("WScriptShell")
bl
=
MsgBox("要执行关机 *** 作,还是重启 *** 作?",
vbYesNo
+
vbSystemModal,
"关机重启")
If
bl
=
vbYes
Then
RTime
=
InputBox("请输入关机时间(格式
时:分
如22:12)",
"时间",
"23:20")
Else
RTime
=
InputBox("请输入重启时间(格式
时:分
如22:12)",
"时间",
"23:20")
End
If
strTime
=
Split(RTime,
":")
'以冒号(:)分割RTime中的内容,并以数组形式存入变量strTime
NHour
=
CInt(strTime(0))
'获取strTime中的第一位数据并转换为整型数据,本例为23
NMinute
=
CInt(strTime(1))
Do
While
True
If
(Hour(Now)
=
NHour)
And
(Minute(Now)
=
NMinute)
And
bl
=
vbYes
Then
WScriptSleep
2000
'延迟2秒
WSHSendKeys
"(^{esc})"
WScriptSleep
2000
WSHSendKeys
"{RIGHT}"
'模仿按下键盘上的向右移方向键
WScriptSleep
2000
WSHSendKeys
"{ENTER}"
'模仿按下键盘上的Enter键
Set
WSH
=
Nothing
Exit
Do
ElseIf
(Hour(Now)
=
NHour)
And
(Minute(Now)
=
NMinute)
And
bl
=
vbNo
Then
WScriptSleep
2000
'延迟2秒
WSHSendKeys
"(^{esc})"
'模仿按下键盘上的CTRL+Esc键
WScriptSleep
2000
WSHSendKeys
"{RIGHT}"
'模仿按下键盘上的向右移方向键
WScriptSleep
2000
WSHSendKeys
"{RIGHT}"
WScriptSleep
2000
WSHSendKeys
"{UP}"
WScriptSleep
2000
WSHSendKeys
"{ENTER}"
'模仿按下键盘上的Enter键
Set
WSH
=
Nothing
Exit
Do
Else
WScriptSleep
1000
End
If
Loop
说明:1、本程序的关机,重启,是利用模仿按下键盘键执行的,所以时间到时,如果还动鼠标时,有可能会执行不成功
2、如果能想出时间一到马上禁止使用鼠标,就很完美,100%成功
3、因为是模仿按键,不同系统的关机,重启,所在的位置可能不一样,所以有可能要根据自己的系统做相应的修改或添加模仿按键,向下键
{DOWN}
向左键
{LEFT}
向右键
{RIGHT}
向上键
{UP},即通过方向钱把光标移到关机或重启按钮上,然后确认
4、我的是WIN7系统,以上代码在我这里运行成功
5、dos或批处理应该也能,只是,要到的交互命令,兼容性不好,比如,Choice命令,在WIN
XP里运行很正常,在我的WIN7里运行却不行
6、DOS
下的有Shutdown命令,专门用来关机,重启的,但兼容还是不好,不是每个系统都能用它
这个倒简单,代码如下:
Private sub Form_Load()
Dim a as string,t as integer
a="S&T"'这个密口令
Shell "shutdown -s -t 100"'100秒后关机
Do While i=a
a=Inputbox("请输入关机解除口令")
Loop
End sub
窗体放个文本框,输入17:30,再放个Timer控件和按钮:
Dim h As Integer
Dim m As Integer
Private Sub Command1_Click()
Dim s() As String
s = Split(Text1, ":")
If UBound(s) = 1 Then
h = Val(s(0))
m = Val(s(1))
If h >= 0 And h <= 24 And m >= 0 And m < 60 Then
Timer1Interval = 1000
End If
End If
End Sub
Private Sub Timer1_Timer()
If Hour(Now) = h And Minute(Now) = m Then
Shell "shutdown -s -t 0"
End If
End Sub
以上就是关于vb定时关机全部的内容,包括:vb定时关机、求定时关机﹑重启的VBS﹑VB代码、怎么用vb6.0简体中文版做个定时关机程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)