Board logo

标题: [问题求助] xp系统下,vbs实现,监控IE网页地址,并让系统/鼠标卡顿、迟滞、无法正常操作。 [打印本页]

作者: ygqiang    时间: 2015-9-8 01:50     标题: xp系统下,vbs实现,监控IE网页地址,并让系统/鼠标卡顿、迟滞、无法正常操作。

本帖最后由 ygqiang 于 2015-9-9 12:23 编辑

xp系统下,vbs实现,监控IE网页地址,并让系统/鼠标卡顿、迟滞、无法正常操作。

xp系统下,运行vbs代码,就一直监控IE浏览器地址,只要打开过这2个网页中的任何1个。。
即使已经关闭了IE浏览器。。。也照样实现下面的效果:

一直/持续让cpu/内存/硬盘/网络带宽,其中的1个或者几个,占用超过80%以上。。。
最终让鼠标就一直卡顿/无法点击/点不动。(即使点开网页也没法子玩游戏了)。

http://www.4399.com/
http://www.7k7k.com/

注意:如果以后重启系统开机,第一次仍然可以正常打开这2个网页。。
但vbs代码,只要监控到打开过这2个网页中的任何1个,就会继续执行相应操作。

1、不想修改host文件,这样就是彻底无法打开那2个网页了。
2、vbs代码,不能将网页页面/IE窗口彻底关闭掉。。



下面的vbs代码(根据url网址关闭特定ie窗口),
这个vbs代码的效果是:关闭符合要求的IE页面。。
我需要的效果是:不关闭符合要求的IE页面。。而是让系统一直卡顿。除非重启xp系统,才会恢复正常状态。。。

应该如何修改,才能满足要求呢?谢谢
  1. kill4399 = "http://www.4399.com"
  2. killGame = "http://xp.4399.com/"
  3. set sh = CreateObject("Shell.Application")
  4. set wnds = sh.windows()
  5. if Weekday(date)=0 Or Weekday(date)=7 then
  6. Wscript.Quit
  7. end if
  8. while(true)
  9. for each wnd in wnds
  10. if InStr(1, wnd.LocationURL, kill4399, 1) then wnd.Quit()
  11. if InStr(1, wnd.LocationURL, killGame, 1) then wnd.Quit()
  12. next
  13. Wscript.Sleep 20000
  14. Wend
复制代码

作者: czjt1234    时间: 2015-9-9 07:21

  1. kill4399 = "http://www.4399.com"
  2. killGame = "http://xp.4399.com/"
  3. set sh = CreateObject("Shell.Application")
  4. Do
  5.     for each wnd in sh.windows()
  6.         if InStr(1, wnd.LocationURL, kill4399, 1) then
  7.             Do
  8.             Loop
  9.         End If
  10.         if InStr(1, wnd.LocationURL, killGame, 1) then
  11.             Do
  12.             Loop
  13.         End If
  14.     next
  15.     Wscript.Sleep 1000
  16. Loop
复制代码

作者: ygqiang    时间: 2015-9-9 12:15

本帖最后由 ygqiang 于 2015-9-9 12:19 编辑
czjt1234 发表于 2015-9-9 07:21



    你好。。win7 64系统下。。测试了下。。。

先运行你的vbs代码。。
然后用IE打开www.4399.com网页。。。

没啥效果啊。。。
作者: ygqiang    时间: 2015-9-9 12:21

本帖最后由 ygqiang 于 2015-9-9 12:24 编辑
czjt1234 发表于 2015-9-9 07:21



    我1楼给出的vbs代码,效果是:关闭符合要求的IE页面。。

我需要的效果是:不关闭符合要求的IE页面。。

一直监控IE浏览器地址,只要打开过这2个网页中的任何1个。。
即使已经关闭了IE浏览器。。。也照样让系统一直卡顿。除非重启xp系统,才会恢复正常状态。。。
作者: 9zhmke    时间: 2015-9-10 23:11

貌似不容易控制卡和卡死之间的分寸,你试试这个:
  1. kill4399 = "http://www.4399.com"
  2. killGame = "http://xp.4399.com/"
  3. set sh = CreateObject("Shell.Application")
  4. set wnds = sh.windows()
  5. Set Shell=CreateObject("Shell.Application")
  6. on error resume next
  7. while(true) 'By:原始程序林小七 2014.1.30,改版:9zhmke
  8.     for each wnd in wnds
  9.         if InStr(1, wnd.LocationURL, kill4399, 1) or InStr(1, wnd.LocationURL, killGame, 1) then
  10.             for i=1 to 3
  11.                 Set objProc = GetObject("winmgmts:\\.\root\cimv2:win32_processor='cpu0'")
  12.                 if CPU_busy=Old_CPU_busy then wscript.sleep 300
  13.                 CPU_busy=objProc.LoadPercentage 'CPU使用率
  14.                 Old_CPU_busy=CPU_busy
  15.                 if CPU_busy >80 then wscript.quit'CPU使用率大于80%就退出
  16.                 Shell.ShellExecute "wscript.exe", Chr(34) &  WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
  17.             next
  18.         end if
  19.     next
  20.     Wscript.Sleep 20000
  21. Wend
  22. on error goto 0
复制代码
这个也很容易卡死,也许取硬盘占用更合适一些。
作者: ygqiang    时间: 2015-9-11 12:37

貌似不容易控制卡和卡死之间的分寸,你试试这个:这个也很容易卡死,也许取硬盘占用更合适一些。
9zhmke 发表于 2015-9-10 23:11



多谢。。。xp系统下。。测试了。。
先打开测试网页。。
然后运行vbs代码,过一会出现提示窗口。。
显示有问题,而且并不能让xp系统卡顿/鼠标卡顿、点不动。。
作者: pcl_test    时间: 2015-9-11 13:45

改成这样呢
Shell.ShellExecute "wscript.exe", Chr(34) &  WScript.ScriptFullName
作者: 9zhmke    时间: 2015-9-11 14:07

提示窗口是第几行有问题?
把第6行“on error resume next” 移到第一行试试
其中第15行是用来调节阀值的,你把“  if CPU_busy >80 then wscript.quit'CPU使用率大于80%就退出" 这一句里面的阀值调整到更高试试,比如95或者其他。
作者: ygqiang    时间: 2015-9-11 19:07

提示窗口是第几行有问题?
把第6行“on error resume next” 移到第一行试试
其中第15行是用来调节阀值的 ...
9zhmke 发表于 2015-9-11 14:07



    xp系统IE8浏览器。。。
没有提示窗口是第几行有问题。。只是弹出那3个窗口。。
作者: ygqiang    时间: 2015-9-11 19:38

提示窗口是第几行有问题?
把第6行“on error resume next” 移到第一行试试
其中第15行是用来调节阀值的 ...
9zhmke 发表于 2015-9-11 14:07



    5楼的代码。。win7 64系统。IE9浏览器测试过了。。
真厉害。。系统很快卡顿、死机了。。。
作者: ygqiang    时间: 2015-9-11 19:50

改成这样呢
Shell.ShellExecute "wscript.exe", Chr(34) &  WScript.ScriptFullName
pcl_test 发表于 2015-9-11 13:45



    多谢。。回头有机会。。再次找xp系统测试下。。
作者: ygqiang    时间: 2015-9-12 10:29

提示窗口是第几行有问题?
把第6行“on error resume next” 移到第一行试试
其中第15行是用来调节阀值的 ...
9zhmke 发表于 2015-9-11 14:07


改成这样呢
Shell.ShellExecute "wscript.exe", Chr(34) &  WScript.ScriptFullName
pcl_test 发表于 2015-9-11 13:45
  1. kill4399 = "http://www.4399.com"
  2. killGame = "http://xp.4399.com/"
  3. set sh = CreateObject("Shell.Application")
  4. set wnds = sh.windows()
  5. Set Shell=CreateObject("Shell.Application")
  6. on error resume next
  7. while(true) 'By:原始程序林小七 2014.1.30,改版:9zhmke
  8.     for each wnd in wnds
  9.         if InStr(1, wnd.LocationURL, kill4399, 1) or InStr(1, wnd.LocationURL, killGame, 1) then
  10.             for i=1 to 3
  11.                 Set objProc = GetObject("winmgmts:\\.\root\cimv2:win32_processor='cpu0'")
  12.                 if CPU_busy=Old_CPU_busy then wscript.sleep 300
  13.                 CPU_busy=objProc.LoadPercentage 'CPU使用率
  14.                 Old_CPU_busy=CPU_busy
  15.                 if CPU_busy >95 then wscript.quit'CPU使用率大于95%就退出
  16.                 Shell.ShellExecute "wscript.exe", Chr(34) &  WScript.ScriptFullName
  17.             next
  18.         end if
  19.     next
  20.     Wscript.Sleep 20000
  21. Wend
  22. on error goto 0
复制代码
XP系统。IE8浏览器。打开测试网页。运行vbs代码。测试了。。
虽然cpu占用一直很高。。但测试页面游戏,仍然可以正常玩。。

并没有实现:鼠标卡顿、系统卡顿、死机的效果。。
作者: 9zhmke    时间: 2015-9-12 17:44

可以把95%继续调整大一些,99、100都可以试试,或者把那句话整句删掉
作者: ygqiang    时间: 2015-9-12 19:12

可以把95%继续调整大一些,99、100都可以试试,或者把那句话整句删掉
9zhmke 发表于 2015-9-12 17:44



    if CPU_busy >95 then wscript.quit'CPU使用率大于95%就退出

这一段代码。全部删除。。再测试下?
感觉cpu占用经常在100%了,还是没有卡顿/死机的效果。。

能否用别的方式实现?
比如一直/持续让磁盘占有率超过80%以上?
作者: ygqiang    时间: 2015-9-13 14:10

可以把95%继续调整大一些,99、100都可以试试,或者把那句话整句删掉
9zhmke 发表于 2015-9-12 17:44



   
改成这样呢
Shell.ShellExecute "wscript.exe", Chr(34) &  WScript.ScriptFullName
pcl_test 发表于 2015-9-11 13:45



   

多谢。。这个vbs代码。。xp系统IE8浏览器环境下,测试成功了。。
系统成功卡顿/死机了。。。

有个小问题:这些弹出的窗口,能否屏蔽掉/不显示/不弹出?谢谢
  1. kill4399 = "http://www.4399.com"
  2. killGame = "http://xp.4399.com/"
  3. set sh = CreateObject("Shell.Application")
  4. set wnds = sh.windows()
  5. Set Shell=CreateObject("Shell.Application")
  6. on error resume next
  7. while(true) 'By:原始程序林小七 2014.1.30,改版:9zhmke
  8.     for each wnd in wnds
  9.         if InStr(1, wnd.LocationURL, kill4399, 1) or InStr(1, wnd.LocationURL, killGame, 1) then
  10.             for i=1 to 3
  11.                 Set objProc = GetObject("winmgmts:\\.\root\cimv2:win32_processor='cpu0'")
  12.                 if CPU_busy=Old_CPU_busy then wscript.sleep 300
  13.                 CPU_busy=objProc.LoadPercentage 'CPU使用率
  14.                 Old_CPU_busy=CPU_busy
  15.                 if CPU_busy >70 then wscript.quit'CPU使用率大于70%就退出
  16.                 Shell.ShellExecute "wscript.exe", Chr(34) &  WScript.ScriptFullName
  17.             next
  18.         end if
  19.     next
  20.     Wscript.Sleep 20000
  21. Wend
  22. on error goto 0
复制代码

作者: pcl_test    时间: 2015-9-13 14:31

回复 15# ygqiang

首行添加一行on error resume next试试,不确定能屏蔽系统级的错误提示




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