找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23670|回复: 14

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

[复制链接]
发表于 2009-2-10 23:55:19 | 显示全部楼层 |阅读模式
请问谁能给一个能调出关机菜单的批处理或,vbs脚本??
就是这个菜单
发表于 2009-2-11 02:35:42 | 显示全部楼层
哪个菜单?
发表于 2009-2-11 08:45:26 | 显示全部楼层
  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
复制代码
看看這個行不行
发表于 2009-2-12 06:08:25 | 显示全部楼层

经过本人测试。

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





前面几句都是多余的。。

这样就行了。
发表于 2009-2-12 08:31:26 | 显示全部楼层
怎麽說呢,min的聲明是多餘的,不過,在使用變量之前先聲明,是一個好習慣,象4樓給的代碼,a就沒有進行聲明,雖然可以運行,但是,不太符合編程規範
PS:4樓的朋友所說的優化如果是指去掉一些聲名,就有些可笑了……

评分

参与人数 2PB +4 收起 理由
youxi01 + 2 yes
Batcher + 2 I agree!

查看全部评分

发表于 2009-2-13 21:55:37 | 显示全部楼层
  1. taskkill /im explorer.exe
复制代码
注意不要加 /f 参数,否则效果完全不同。

评分

参与人数 5PB +1 技术 +5 收起 理由
czjt1234 + 1 厉害
rat + 1
newxso + 1 可以获取发明奖
pusofalse + 1 高!
everest79 + 1 UP

查看全部评分

发表于 2009-3-6 19:32:49 | 显示全部楼层
试试这个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 编辑 ]

评分

参与人数 1技术 +1 收起 理由
rat + 1

查看全部评分

发表于 2009-3-6 19:44:49 | 显示全部楼层
来个autoIt版的~
Dllcall("shell32.dll", "none", 60, "int", 0)

评分

参与人数 1技术 +1 收起 理由
rat + 1 60是什么参数

查看全部评分

发表于 2009-3-7 16:18:14 | 显示全部楼层
rundll32.exe shell32.dll,#60

评分

参与人数 1技术 +1 收起 理由
rat + 1

查看全部评分

发表于 2009-3-7 17:35:30 | 显示全部楼层

回复 8楼 的帖子

60是什么参数?
发表于 2009-3-7 17:51:33 | 显示全部楼层
发表于 2009-3-7 21:54:34 | 显示全部楼层

回复 10楼 的帖子

可以看成是函数所对应的序号,就像进程名和进程PID的关系。
题外话,从slore前辈的代码来看,rundll32.exe同样可以使用序号来代替函数名。以前看到过一段资料,rundll32貌似只能调用没有返回值的api函数。
发表于 2009-3-10 09:12:07 | 显示全部楼层
想请教一下 zqz0012005版主 “taskkill /im explorer.exe”此句是无意的错误发现,还是确实存在此语句?
发表于 2009-3-10 11:36:06 | 显示全部楼层

回复 13楼 的帖子

你这句话有点囧。。。
这个命令的确是无意中发现的,但并不是错误,在XP下的确有调出关机菜单的功能。
发表于 2022-6-5 12:06:31 | 显示全部楼层
回复 13# newxso
他的返回值(指cmd下执行结果)都不同,应该不是错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:27 , Processed in 0.025447 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表