Что нового

Как сделать чтобы если есть окно то не создавать больше окон?

Pennon

Новичок
Сообщения
45
Репутация
0
Здравствуйте, хочу в заданное время создать окно IE и потом в заданное время закрыть все IE.
Как сделать чтобы если есть окно то не создавать больше окон и чтобы время закрытия окон каждый день отличалось на случайное количество минут(10-15)
Код:
#include <IE.au3>
HotKeySet("{ESC}", "_Exit")
$sUrl = 'about:blank'
While 1
If @HOUR*60+@MIN >= 21*60+10 And @HOUR*60+@MIN <= 21*60+11 Then
  ; If Not IsObj ($oIE) Then
$oIE = _IECreate($sUrl)
EndIf

If @HOUR*60+@MIN >= 2*60+28 And @HOUR*60+@MIN <= 2*60+29 Then
  While WinClose("[class:IEFrame]")
WEnd

EndIf
WEnd
 
Автор
P

Pennon

Новичок
Сообщения
45
Репутация
0
ra4o
Спасибо, что-то с WinExists не получилось а получилось через WinWait
Но в заданное время не закрывает окон. что не так?
Код:
#include <IE.au3>
HotKeySet("{ESC}", "_Exit")
$sUrl = 'about:blank'
While 1
If @HOUR*60+@MIN >= 21*60+10 And @HOUR*60+@MIN <= 21*60+11 Then
    $hWnd = WinWait("[class:IEFrame]", "", 5)
    If Not $hWnd Then
$oIE = _IECreate($sUrl)
EndIf
EndIf

If @HOUR*60+@MIN >= 1*60+42 And @HOUR*60+@MIN <= 1*60+55 Then
   
  While WinClose("[class:IEFrame]")
WEnd
EndIf
EndIf
WEnd
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
247
Вот так должно закрыть все окна IE
Код:
While WinExists("[class:IEFrame]")
	WinClose("[class:IEFrame]")
	Sleep(200);Ставьте небольшую задержку в цикл.
WEnd

Вот так , если нет окон IE, то создаст новое, если есть - то создавать не будет:
Код:
#include <IE.au3>
HotKeySet('{ESC}', '_Exit')
$sUrl = 'about:blank'

While 1

If Not WinExists('[class:IEFrame]') Then
	$oIE = _IECreate($sUrl)
    $hWnd = WinWait('[class:IEFrame]', '', 10)
EndIf
sleep(200)
WEnd

Func _Exit()
	WinClose('[class:IEFrame]')
	Exit
EndFunc
 
Автор
P

Pennon

Новичок
Сообщения
45
Репутация
0
ra4o
Спасибо работает но грузит систему на 100% Что сделать чтобы между действиями не загружал процессор?
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
247
Или дописать паузу в бесконечный цикл (исправил в предыдущем сообщении)
 
Верх