Board logo

标题: [技术讨论] 请问谁能给一个能调出关机菜单的批处理或VBS脚本 [打印本页]

作者: hyfl928    时间: 2009-2-10 23:55     标题: 请问谁能给一个能调出关机菜单的批处理或VBS脚本

请问谁能给一个能调出关机菜单的批处理或,vbs脚本??
就是这个菜单
作者: pusofalse    时间: 2009-2-11 02:35

哪个菜单?
作者: sniperhgy    时间: 2009-2-11 08:45

  1. Dim WshShell,min
  2. Set WshShell=WScript.CreateObject("WScript.Shell")
  3. WshShell.SendKeys "^{ESC}"
  4. WScript.Sleep 200
  5. WshShell.SendKeys "u"
  6. WScript.Quit
复制代码
看看這個行不行
作者: lixiaodaoaaa    时间: 2009-2-12 06:08     标题: 经过本人测试。

代码需要再优化下
  1. Set a=WScript.CreateObject("WScript.Shell")
  2. a.SendKeys "^{ESC}"
  3. WScript.Sleep 200
  4. a.SendKeys "u"
  5. WScript.Quit
复制代码





前面几句都是多余的。。

这样就行了。
作者: sniperhgy    时间: 2009-2-12 08:31

怎麽說呢,min的聲明是多餘的,不過,在使用變量之前先聲明,是一個好習慣,象4樓給的代碼,a就沒有進行聲明,雖然可以運行,但是,不太符合編程規範
PS:4樓的朋友所說的優化如果是指去掉一些聲名,就有些可笑了……
作者: zqz0012005    时间: 2009-2-13 21:55

  1. taskkill /im explorer.exe
复制代码
注意不要加 /f 参数,否则效果完全不同。
作者: newxso    时间: 2009-3-6 19:32

试试这个VBS版:
  1. Dim Shutdown
  2. Set Shutdown=WScript.CreateObject("Shell.Application")
  3. Shutdown.ShutdownWindows
复制代码

BAT版:
  1. start mshta vbscript:CreateObject("Shell.Application").ShutdownWindows()(window.close)
复制代码

[ 本帖最后由 newxso 于 2009-3-6 23:19 编辑 ]
作者: pusofalse    时间: 2009-3-6 19:44

来个autoIt版的~
Dllcall("shell32.dll", "none", 60, "int", 0)
作者: slore    时间: 2009-3-7 16:18

rundll32.exe shell32.dll,#60
作者: rat    时间: 2009-3-7 17:35     标题: 回复 8楼 的帖子

60是什么参数?
作者: zqz0012005    时间: 2009-3-7 17:51     标题: 回复 10楼 的帖子

http://www.cn-dos.net/forum/viewthread.php?tid=27928&page=2
作者: pusofalse    时间: 2009-3-7 21:54     标题: 回复 10楼 的帖子

可以看成是函数所对应的序号,就像进程名和进程PID的关系。
题外话,从slore前辈的代码来看,rundll32.exe同样可以使用序号来代替函数名。以前看到过一段资料,rundll32貌似只能调用没有返回值的api函数。
作者: newxso    时间: 2009-3-10 09:12

想请教一下 zqz0012005版主 “taskkill /im explorer.exe”此句是无意的错误发现,还是确实存在此语句?
作者: zqz0012005    时间: 2009-3-10 11:36     标题: 回复 13楼 的帖子

你这句话有点囧。。。
这个命令的确是无意中发现的,但并不是错误,在XP下的确有调出关机菜单的功能。
作者: LJY4.0    时间: 2022-6-5 12:06

回复 13# newxso
他的返回值(指cmd下执行结果)都不同,应该不是错误




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2