标题: 求助:VBS调用键盘{Ctrl}{Alt}{Del}
[打印本页]
作者: vlq5299
时间: 2009-8-11 23:05
标题: 求助:VBS调用键盘{Ctrl}{Alt}{Del}
我想用VBS做一个快速重启的脚本,利用任务管理器中{Ctrl}+U实现,脚本如下:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys ("^%{DEL}") '同时按下{Ctrl}{Alt}{Del}
WScript.Sleep 500 '等待启动任务管理器
WshShell.SendKeys ("%u") '同时按下{Alt}+U
WshShell.SendKeys ("^r") '同时按下{Ctrl}+R
数次尝试均不成功,请帮忙修改下
作者: slore
时间: 2009-8-11 23:13
为什么不直接run taskmgr……
作者: vlq5299
时间: 2009-8-11 23:24
run可以运行,但是{Alt}+U仍然调用不了
作者: slore
时间: 2009-8-12 00:12
我这里测试可以。。。
作者: yishanju
时间: 2009-8-12 00:14
{Alt}+U是什么操作?{Alt}+U
作者: slore
时间: 2009-8-12 01:02
访问 菜单
作者: qinchun36
时间: 2009-8-12 23:25
可能是你机器性能的问题,你可以试试把等待时间延长,比如加个 0 改成 5000, 再在 Alt+U 之后再等 500 ms.
要实现重启或者关机可以试试这个:
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\.\root\cimv2")
Set colOS = WMI.ExecQuery("Select * from Win32_OperatingSystem")
For Each OS in colOS
OS.Reboot() ' 关机为 OS.Win32Shutdown(1)
Next
作者: vlq5299
时间: 2009-8-14 06:57
WshShell.SendKeys ("^%{DEL}") '同时按下{Ctrl}{Alt}{Del}
原来windows不允许vbs同时调用这三个键
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys ("^+{ESC}") '同时按下{Ctrl}{Shift}{ESC}
WScript.Sleep 500 '等待启动任务管理器
WshShell.SendKeys ("%u") '同时按下{Alt}+U
WScript.Sleep 200 '延时
WshShell.SendKeys ("^r") '同时按下{Ctrl}+R
这样可以执行,但是执行重启的时候不是预期的不保存任何进程快速重启,仍然是按照正常的重启步骤:注销-保存-关机-重启……
不知道何故,高手给下解释
[
Last edited by vlq5299 on 2009-8-14 at 07:03 ]
作者: slore
时间: 2009-8-16 22:59
那个按住CTRL键不放再按R
不是CTRL+R
这个VBS模仿不了。
直接调用
shutdown.exe -r -f -t 0
可以吗?
套用上面的WMI
Set WMI
= GetObject("
winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\.\root\cimv2"
)
Set colOS
= WMI.ExecQuery
("
Select * from Win32_OperatingSystem"
)
For Each OS
In colOS
OS.Win32Shutdown
(6
)
Next
作者: vlq5299
时间: 2009-8-28 04:55
Quote: |
Originally posted by slore at 2009-8-16 22:59:
那个按住CTRL键不放再按R
不是CTRL+R
这个VBS模仿不了。
|
|
Ctrl+Esc vbs就可以模仿的
作者: slore
时间: 2009-8-28 11:32
汗~
你一起按看它出来不。。。
VBS发送的是一起的。。。不是按住的。。。
那个快捷键可以2个都行罢了