[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[讨论]VBS循环关闭QQ登录后广告弹窗

关闭QQ登录后广告弹窗

'关闭第一个窗口.vbs 文件
do
set qq=createobject("wscript.shell")
wscript.sleep 1000
if qq.appactivate("手机玩QQ") = true then
qq.sendkeys "%{f4}"
end if

wscript.sleep 5000
qq.run "taskkill /im wscript.exe /f",vbhide
loop
==============================================
'关闭第二个窗口.vbs 文件
do
set qq=createobject("wscript.shell")
wscript.sleep 1000
if qq.appactivate("无线QQ使用向导") = true then
qq.sendkeys "%{f4}"
end if
wscript.sleep 5000
qq.run "taskkill /im wscript.exe /f",vbhide
loop

****************************************************************************

关闭QQ登录后广告弹出窗口

循环关闭窗口后.在指定时间内退出wscript.exe 进程(因为我是一次批量登陆8个QQ号码.一下子弹窗不会马上弹出来)

把上面关闭2个窗口.vbs代码。写成一个关闭窗口.vbs文件(小弟不懂的写循环语句,请高手接招)

111 - 记事本
222 - 记事本
本来想用记事本。让楼下的网友帮我做测试.看来我想法错了。

[ 本帖最后由 jjmmrr 于 2010-6-9 00:57 编辑 ]

为什么要搞得这么麻烦?
直接结束NOTEPAD.EXE进程不行吗?
  1. taskkill /f /im notepad.exe
复制代码

TOP

VBS也不错

看了这个小文章,感觉vbs有些时候也很方便啊。

TOP

你不会都是用杀掉 wscript.exe 的方法退出 vbs 的吧。。。
你的退出代码在循环里面,只能运行一次,要拿到外面去。
  1. wndws = array("手机玩QQ", "无线QQ使用向导")
  2. set qq = createobject("wscript.shell")
  3. for each wndw in wndws
  4.   do
  5.     wscript.sleep 1000
  6.     isExists = qq.appactivate(wndw)
  7.     wscript.sleep 36
  8.     if isExists then
  9.       qq.sendkeys "%{f4}"
  10.     end if
  11.   loop while isExists
  12. next
  13. wscript.sleep 5000
  14. wscript.quit
复制代码

TOP

wndws = array("手机玩QQ", "无线QQ使用向导")
set qq = createobject("wscript.shell")
for each wndw in wndws
  do
    wscript.sleep 1000
    isExists = qq.appactivate(wndw)
    wscript.sleep 36
    if isExists then
      qq.sendkeys "%{f4}"
    end if
  loop while isExists
next
wscript.sleep 36000 '原500 改成1分钟,因为我是一次批量登陆8个QQ号码.一下子弹窗不会马上弹出来.
wscript.quit


兄弟 Spring 在帮小弟修改下代码。十分感谢!


失效:打开关闭窗口.vbs文件 ,登陆QQ后弹出广告窗,弹窗不能自动关闭。
有效:登陆QQ后弹出广告窗,在打开关闭窗口.vbs文件,能关掉广告窗。



[ 本帖最后由 jjmmrr 于 2010-6-10 11:12 编辑 ]

TOP

看来是理解有误,难道你说的“在指定时间内退出wscript.exe 进程”的意思是在“指定的时间”内这个脚本还在继续干活,看到有窗口弹出就关闭它,然后到时间了再退出?

TOP

看来是理解有误,难道你说的“在指定时间内退出wscript.exe 进程”的意思是在“指定的时间”内这个脚本还在继续干活,看到有窗口弹出就关闭它,然后到时间了再退出?


兄弟你正解我的意思.谢了,希望您在修改下代码。

一次批量登陆8个QQ号码后,弹出广告窗总共16个广告窗口。不是同一时间弹出16个QQ广告的,所以要wscript.exe 驻留进程,
在循环关闭QQ广告窗口,然后在指定时间内退出 wscript.exe 进程(省去手工关闭进程)?

TOP

  1. '“指定的时间” 秒
  2. WaitTime = 60
  3. wndws = array("手机玩QQ", "无线QQ使用向导", "记事本")
  4. StartTime = Timer
  5. set qq = createobject("wscript.shell")
  6. while Timer - StartTime < WaitTime
  7.   for each wndw in wndws
  8.     while qq.appactivate(wndw)
  9.       wscript.sleep 36
  10.       qq.sendkeys "%{f4}"
  11.       wscript.sleep 36
  12.     wend
  13.   next
  14.   wscript.sleep 36
  15. wend
  16. wscript.quit
复制代码

[ 本帖最后由 Spring 于 2010-6-11 09:51 编辑 ]

TOP

返回列表