中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 麻烦大家帮忙解释一下这个VBS
作者:
标题: 麻烦大家帮忙解释一下这个VBS 上一主题 | 下一主题
zhitingkey
初级用户





积分 84
发帖 32
注册 2007-9-17
来自 湖北
状态 离线
『楼 主』:  麻烦大家帮忙解释一下这个VBS

' Clears WFP message const win="Windows File Protection" set arg=wscript.arguments if arg.count then flg=arg.item(0) else wscript.echo "Bad parameters." wscript.quit end if set w=wscript.createobject("wscript.shell") set f=wscript.createobject("scripting.filesystemobject") x=999 while x > 0 w.appactivate(win) if w.appactivate(win) then w.sendkeys "{ESC}" w.sendkeys "%y" end if if f.fileexists(flg) then x=45 f.deletefile(flg) end if wscript.sleep 333 x=x-1 wend 麻烦大家帮忙解释一下这段VBS写的是什么用的`


2008-12-24 12:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
exzzz
初级用户

游手好闲 + 无所事事 ..



积分 194
发帖 167
注册 2007-4-30
状态 离线
『第 2 楼』:  

好像是系统文件被替换后,会出现一个标题为“Windows File Protection”的对话框,提示你系统文件被替换,是否要恢复? 程序运行后的333秒内,如果这个提示出现,就取消这个对话框, 如果产生了个什么文件还是对话框,这个我不懂,就删除这个文件或关掉这个对话框。接下来的15秒内只要这个提示窗口出现,这个vbs就每秒运行3次按ESC取消对话框并确认取消。15秒过后程序结束。 如果不产生这个文件或对话框什么的,过333秒后程序结束。 [ Last edited by exzzz on 2008-12-24 at 17:21 ]


2008-12-24 17:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:  

Q: 为方便他人复制,如何给代码加code标签? A: www.cn-dos.net/forum ... 参考:www.cn-dos.net/forum ...




2008-12-24 18:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

333是毫秒... 就是循环检测,有没有那个文件保护的提示框,有就发送按键,就是点取消.




S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-12-24 19:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
exzzz
初级用户

游手好闲 + 无所事事 ..



积分 194
发帖 167
注册 2007-4-30
状态 离线
『第 5 楼』:  

X=999 ..... wscript.sleep(333) 休眠0.3秒X-1,就是每秒X减3,999/3=333秒


2008-12-24 20:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 6 楼』:  

const win="Windows File Protection" '定义常数win 是需要操作窗口的标题 set arg=wscript.arguments '引用arguments对像给arg if arg.count then '判断参数是否存在 flg=arg.item(0) '存在将第一个参数赋值给flg else wscript.echo "Bad parameters." '不存在出现提示消息参数错误 wscript.quit '并且退出脚本 end if '判断结束 set w=wscript.createobject("wscript.shell") '创建wsh对象 set f=wscript.createobject("scripting.filesystemobject") '创建fso对象 x=999 '赋值x为999 while x > 0 '定义x大于零时一直循环 w.appactivate(win) '激活窗体也就是前边定义的 if w.appactivate(win) then '多此一举为了判断又激活了一次 w.sendkeys "{ESC}" '若窗体存在则先选择取消 w.sendkeys "%y" '然后确定 end if '判断结束 if f.fileexists(flg) then ' 判断做为参数传递的文件是否存在 x=45 '存在则设x=45 f.deletefile(flg) '并且删除这个文件 end if wscript.sleep 333 '等待三分之一秒 x=x-1 '将x减去1, wend




49206C6F766520796F752067757973 54656C3A3133383238343036373837
2008-12-25 19:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: