Что нового

Запуск скрипта по расписанию с mouseclick, sleep

Gatz

Новичок
Сообщения
6
Репутация
0
Здравствуйте, задача написать скрипт для записи рекламы по определенному времени.
Например с 7:00 до 7:30
с 14:00 до 14:30
с 17:00 до 17:30


Примерно представляю так.
На компе запущена прога от твтюнера.

Если время равно 07:00
Mouseclick по координатам 984, 456 – Запись
Таймер = 30мин
Mouseclick по координатам 984, 456 – Стоп

Если время равно 17:00
Mouseclick по координатам 984, 456 – Запись
Таймер = 30мин
Mouseclick по координатам 984, 456 – Стоп

… И так далее
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Re: Пришем скрипт с mouseclick, timer

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Пришем скрипт с mouseclick, timer" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Глобальный модератор.
 
Автор
G

Gatz

Новичок
Сообщения
6
Репутация
0
Re: Пришем скрипт с mouseclick, timer

Вот полазил по форуму и накалякал:

Код:
#include <Date.au3>
Local $currentTime
$currentTime = _NowTime(4)
$currentTime = StringReplace( $currentTime, ":", "")
$Spamklock = "1137"
If $Spamklock = $currentTime Then
   MouseClick("left", 984, 456)
   Sleep(5000)
   MouseClick("left", 981, 538)
   MsgBox(0, "ОК", "Запись прошла успешно!")
Else
   MsgBox(0, "Ошибка", "ОШИБКА!!!")
Endif


Проблема в том что он не ждет определенного времени,
если при запуске скрипта время в системе совпадает с заданным с скрипте то он работает, иначе нет.
А вот как сделать чтобы он запускался и ждал определенного времени?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.






Добавлено:
Сообщение автоматически объединено:

Gatz, мне проще закрыть тему, чем каждые 5 минут выносить Вам предупреждения. :mad:
 

Dm666

Осваивающий
Сообщения
225
Репутация
48
Можно, например, вот так
Код:
While 1
	If @HOUR = 7 Or @HOUR = 14 Or @HOUR = 17 Then _Record()
	Sleep(1000) 
WEnd

Func _Record()
	If @MIN > 29 Then Return ; Do nothing if later Then 7:30, 14:30, 17:30
	
	MouseClick("left", 984, 456) ; Start
	Sleep(30 * 60 * 1000) ; pause 30min
	MouseClick("left", 981, 538) ; Stop
EndFunc
 
Автор
G

Gatz

Новичок
Сообщения
6
Репутация
0
Спасибо товарищ Dm666, попробую ваш вариант.

Я вот такой говнокод я по быстрому написал для себя))))
Код:
#include <Date.au3>
Local $currentTime
Func MyTime()
   $var = _NowTime(4)
   $var = StringReplace( $currentTime, ":", "")
   Return $var
EndFunc

$start = 0000
$end = 2359

$mytime = MyTime()
While ($mytime < $end)
   $currentTime = _NowTime(4)
   $currentTime = StringReplace( $currentTime, ":", "")
   $Spamklock1 = "1545"
   $Spamklock2 = "1714"
   $Spamklock3 = "1828"
   $Spamklock4 = "1842"
   $Spamklock5 = "1938"
   $Spamklock6 = "2002"
   $Spamklock7 = "2135"
   $Spamklock8 = "2302"
   $Spamklock9 = "2318"

   If $Spamklock1 = $currentTime Then
	  MouseClick("left", 984, 456)
	  Sleep(600000)
	  MouseClick("left", 981, 538)
   ElseIf $Spamklock2 = $currentTime Then
	  MouseClick("left", 984, 456)
	  Sleep(600000)
	  MouseClick("left", 981, 538)
   ElseIf $Spamklock3 = $currentTime Then
	  MouseClick("left", 984, 456)
	  Sleep(600000)
	  MouseClick("left", 981, 538)
   ElseIf $Spamklock4 = $currentTime Then
	  MouseClick("left", 984, 456)
	  Sleep(600000)
	  MouseClick("left", 981, 538)
   ElseIf $Spamklock5 = $currentTime Then
	  MouseClick("left", 984, 456)
	  Sleep(600000)
	  MouseClick("left", 981, 538)
   ElseIf $Spamklock6 = $currentTime Then
	  MouseClick("left", 984, 456)
	  Sleep(600000)
	  MouseClick("left", 981, 538)
   ElseIf $Spamklock7 = $currentTime Then
	  MouseClick("left", 984, 456)
	  Sleep(600000)
	  MouseClick("left", 981, 538)
   ElseIf $Spamklock8 = $currentTime Then
	  MouseClick("left", 984, 456)
	  Sleep(600000)
	  MouseClick("left", 981, 538)
   ElseIf $Spamklock9 = $currentTime Then
	  MouseClick("left", 984, 456)
	  Sleep(600000)
	  MouseClick("left", 981, 538)

   Endif
WEnd
 
Верх