Есть код
Код:
Код: Выделить всё
Dim $mass[1], $x=0,$Stop = 0
Do
$mass[$x] = FileReadLine ("denylist.txt",$x+1)
If @error=-1 Then
$Stop=1
ReDim $Mass[$x]
Else
$x = $x+1
ReDim $Mass[$x+1]
EndIf
Until $Stop=1
Do
$var = WinList()
For $x=0 To UBound ($mass)-1
For $i = 1 to $var[0][0]
If $var[$i][0] "" AND IsVisible($var[$i][1]) Then
if StringInStr($var[$i][0], $mass[$x])0 Then
beep(1000,250)
MsgBox (16,"Сообщение для " & @UserName,$mass[$x] & " - НЕТ ДОСТУПА!",7)
$GWP = WinGetProcess ($var[$i][0]) ;Получаем имя процесса по имени окна
if WinGetProcess("explorer.exe") Then ;Если процесс explorer.exe тогда просто закроем окно(если открыта папка, а то как-то некрасиво ))) )
WinClose ($var[$i][0])
Else
ProcessClose($GWP); Киляем полученный процесс
EndIf
EndIf
EndIf
Next
Next
Sleep(1000)
Until $i=1
Func IsVisible($handle)
If BitAnd( WinGetState($handle), 2 ) Then
Return 1
Else
Return 0
EndIf
EndFunc[/b]Смысл скрипта в том, что он висит в памяти компьютера и блокирует окна в которых содержатся запрещенные слова
Последние содержатся в denylist.txt
icq
qip
и т.д.
Все работает, но скрипт сильно напрягает процессор
вопрос как разгрузить процессор?
