Что нового

Как чтобы каждую минуту скрипт нажимал клавишу F5 ?

agikon

Знающий
Сообщения
789
Репутация
16
Пожалуйста можете набросать самый упрощенный пример кода чтобы каждую минуту нажималась клавиша F5?
 

Zaramot

I ♥ AutoIt
Сообщения
1 160
Репутация
658
Код:
While 1
	Send('{F5}')
	Sleep(60000)
WEnd
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
16
так если мне надо чтобы бесконечно цикл работал, а у вас стоит только один раз цикл, ну от While 1
Как это понимать?
Цикл то один паз прочитается и всё?
 

Viktor1703

AutoIT Гуру
Сообщения
1 535
Репутация
410
Нет, это безконечный цикл
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Все нормально там
Цикл бесконечный.
Хоть так:
Код:
While 2
    Send('{F5}')
    Sleep(60000)
WEnd

Все равно - бесконечный.
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
16
понял спасибо.
Но вот опять не пойму как чтобы этот цикл выполнялся паралельно с другими.
А то опять получается вся система будет ждать эту минуту.
от как его паралельно запустить?

Я то поставил его как функцию вот так
Код:
AdlibRegister('_my_zikl', 1)

; тут код 

Func _my_zikl()
    Send('{F5}')
    Sleep(60000)
EndFunc

но я боюсь что код все равно будет ждать эту минуту.
Я так когдато делал и код зацикливался и всё на этом sleep , пока мне не подсказали заменить sleep на TimerDiff($init3)

Но это другая ситуация и тут как то наверно по другому надо.
или что скажите?
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
ч
тобы этот цикл выполнялся паралельно с другими
Так нельзя. Многопоточности в AutoIt нету.
Нет возможности одновременного выполнения двух функций.
Но, ты не переживай. Существуют другие способы.
Просто расскажи, что надо, поможем. Пересмотрим алгоритм..
 

Zaramot

I ♥ AutoIt
Сообщения
1 160
Репутация
658
Зачем там Sleep ?:
Код:
AdlibRegister('_my_zikl', 60000)

; тут код 

Func _my_zikl()
    Send('{F5}')
EndFunc
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
16
Zaramot
проверить не могу ибо пока не готов, но если ваш код будет работать то есть функция будет запускатся каждые 60 секунд, и остальной код что ниже AdlibRegister('_my_zikl', 60000) будет обрабатыватся, то это значит то что надо.
 

darkwhite

Новичок
Сообщения
129
Репутация
4
при использовании sleep даже закрыть GUI не получится во время срока исполнения sleep.
как вариант могу предложить сипользования TimeDiff в цикле while.
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
16
darkwhite
да то что предложил Зарамот с AdlibRegister('_my_zikl', 60000) прекрасно паралельно запускается, я уже проверил и всё работает.

На счет TimeDiff то и этот вариант тоже работает, оказывается тот же Зарамот уже давно вот здесь писал http://autoit-script.ru/index.php/topic,6324.msg44425.html#msg44425 , но я както забыл.

Вобщем спасибо разобрался всё работает.
 

Zaramot

I ♥ AutoIt
Сообщения
1 160
Репутация
658
Правильно пиши ники форумчан:
agikon, Зарамот => Zaramot.
 
Верх