搞定,楼主请帮忙测试下...用的是原作者的那个"Netbar.dll"
#cs ____________________________________
AutoIt 版本: 3.2.11.1(第一版)
脚本作者: 漠北雪~狼
Email: allenmou@163.com
QQ/TM: 402090001
脚本功能: 窗口监视
#ce _______________脚本开始_________________
Opt("TrayIconDebug",1) ;调试模式
Dim $FileR[10000]
$file = FileOpen(@ScriptDir & "\Netbar.dll", 0)
If $file = -1 Then
MsgBox(46, "18601", "Error")
Exit
EndIf
$I = 1
While 1
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
$FileR[0] = $I
$FileR[$I] = $line
$I += 1
Wend
While 1
$NowTitle = WinGetTitle("")
For $I = 1 To $FileR[0]
If StringInStr($NowTitle,$FileR[$I])=1 Then WinClose($NowTitle)
Next
Sleep(100)
WEnd
关键的地方在于对要禁用的窗口定义为变量(也可直接FileReadLine且速度也还算不错),获取当前窗口标题后定义为一个变量,在里面的循环中只判断当前窗口标题(字符串型)是否含有要禁止的窗口标题(字符串型),而不是一直查找窗口是否存在,所以占用CPU自然就低了.当然,如果要求不高,也可选择性的调高倒数第二句的 Sleep(100) .
另,"占用内存少"这个问题不予评论,没意义.
[ 本帖最后由 漠北雪~狼 于 2008-5-30 17:58 编辑 ] |