找回密码
 加入
搜索
查看: 1955|回复: 5

[AU3基础] 关于循环检测事件的问题[已解决]

[复制链接]
发表于 2010-11-14 09:07:24 | 显示全部楼层 |阅读模式
本帖最后由 m765555 于 2011-3-6 11:46 编辑

各位高手们:
    利用au3的循环检测很占系统资源和内存,把电脑弄得很慢,au3有没有办法不用循环来做检测,举个例子,比如说我写个禁止某程序运行,然后加入启动项,它一开机就运行循环检测,让系统很慢,有没有别的方法解决一下呢?
发表于 2010-11-14 11:27:20 | 显示全部楼层
本帖最后由 netegg 于 2010-11-14 11:30 编辑

#include<winapiex.au3>
do
_WinAPI_EmptyWorkingSet()
until processexists($pro)
 楼主| 发表于 2010-11-15 09:36:47 | 显示全部楼层
回复 2# netegg


兄弟,可以举个简单的例子吗,有些看不懂,用不来这个?
 楼主| 发表于 2010-11-15 09:43:41 | 显示全部楼层
回复 2# netegg
对了我原来写的那个程序的源码这样的,怎么嵌入你的那个代码呢?
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=mycom.ico
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#Include <Array.au3>
#Include <WinAPIEx.au3>
Opt("trayiconhide","1")
While 1
$list = ProcessList()
$var = WinList()
For $i=1 To $list[0][0]
    If StringInStr($list[$i][0],"小分队") Then         
        ProcessClose($list[$i][1]) 
    EndIf
Next
For $i1 = 1 To $var[0][0]
        ; 仅显示带标题的可见窗口
        If $var[$i1][0] <> "" And IsVisible($var[$i1][1]) Then
                If StringInStr($var[$i1][0], "小说") Then
                        
                                                WinClose($var[$i1][1])
                EndIf
        EndIf
Next
WEnd
Func IsVisible($handle)
        If BitAND(WinGetState($handle), 2) Then
                Return 1
        Else
                Return 0
        EndIf
EndFunc   ;==>IsVisible 
发表于 2010-11-15 09:50:55 | 显示全部楼层
24行加sleep(50)
 楼主| 发表于 2010-11-15 11:23:25 | 显示全部楼层
哦,谢谢,除此之外还有其它的方法吗
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-3 00:23 , Processed in 0.093100 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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