Author Topic: можно как то упростить скрипт?  (Read 1672 times)

0 Members and 1 Guest are viewing this topic.

Regaf

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
можно как то упростить скрипт?
« on: June 19, 2015, 01:15:48 PM »
Подскажите можно как то упростить скрипт и повысить его надежность? BlueStacks часто подвисает и появляется необходимость его перезагрузить. проблема в том, что комп тоже может тормозить и трей не раскроется вовремя.
Code: (clickermann) [Select]
LCLICK(1717,1183)  // отобразить скрытые значки
WAIT(2)
GETSCREEN
IF_PICTURE_IN (1642,993, 1787,1101, "pict.bmp", -1, 100) //  поиск в трее иконки BlueStacks
   RCLICK($_return1, $_return2) // правый клик по BlueStacks   
END_IF
WAIT(2)
LCLICK(1481,920)  // клик на перезагрузку BlueStacks

еще вопрос BREAK("message") в хелпе нет примера. как вызвать это диалоговое окно?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: можно как то упростить скрипт?
« Reply #1 on: June 19, 2015, 04:34:18 PM »
А сделать чтобы трей не закрывался не судьба?
BREAK более не работает используй более новые функции DIALOGBOX

Code: (clickermann) [Select]
$dialog = DIALOGBOX("Продолжить действие", 4, 2)
IF($dialog = 7) // если выбрано нет то стоп
   HALT
END_IF

Но если нужно просто приостановить сценарий то достаточно этого
Code: (clickermann) [Select]
$dialog = DIALOGBOX("Пауза", 0, 4)

Regaf

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Re: можно как то упростить скрипт?
« Reply #2 on: June 20, 2015, 11:24:10 AM »
Quote
А сделать чтобы трей не закрывался не судьба?
если других способов нет то так и предается делать, но я когда задавал вопрос надеялся, что кто то подскажет более красивое решение. идеальным решением было бы уйти от кликов вообще. может процесс убить кокой то? если кто знает метод как перезапустить BlueStacks командами без кликов мыши подскажите.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: можно как то упростить скрипт?
« Reply #3 on: June 20, 2015, 03:19:37 PM »
Code: (clickermann) [Select]
EXECUTE("TASKKILL","/F /IM firefox.exe") // убить процесс
WAIT(2)

EXECUTE("firefox.exe") // запустить программу

ключи
Code: [Select]
  /F                             Принудительное завершение процесса
 /PID <процесс>       Идентификатор процесса, который требуется завершить.
 /IM  <образ>           Имя образа процесса, который требуется завершить. Для указания всех процессов можно использовать символ шаблона '*'.
 /T                             Завершение указанного процесса и всех его дочерних процессов.

Там вроде используются службы, тогда нужны другие команды
http://rusopen.com/sluzhby-windows-7/167-upravlenie-sluzhbami-cherez-komandnuyu-stroku
http://softlakecity.ru/os/windows/vklyuchit-otklyuchit-sluzhbu-windows-cherez-komandnuyu-stroku

например
Code: (clickermann) [Select]
EXECUTE("net stop spooler") // Остановить службу spooler
WAIT(2)
EXECUTE("net start spooler") // Запустить службу spooler

« Last Edit: June 20, 2015, 03:26:19 PM by Oraven »