PDA

Показать полную графическую версию : Перезапуск программы


alleo
20-02-2011, 19:30
Проблема: имеется программа, регулярно вылетает с ошибкой, т.е. висит в процессах, пока ОК не нажмёшь. В соседней ветке подсказали "вечный" скрипт, но он, вероятно, не сработает.
Задача: перезапускать программу после вылета

Creat0R
20-02-2011, 19:42
имеется программа, регулярно вылетает с ошибкой »
Какая программа?

alleo
20-02-2011, 20:16
Какая программа? »

А что - для каждой программы свой скрипт?
Лечить невозможно, это свойство такое у проги, или смириться нужно, или как-то с этим бороться!

Creat0R
20-02-2011, 23:47
А что - для каждой программы свой скрипт? »
Возможно.

Задача: перезапускать программу после вылета »
Непонятно!

alleo
21-02-2011, 00:05
Непонятно! »

Что ж тут непонятного - хоцца, чтобы программа работала всегда, т.е.круглосуточно и ежемесячно, как аналоги, но именно эта версия имеет нехорошее св-во примерно раз в сутки (иногда до трёх суток, если не дышать) вылетать с ошибкой "приложение будет закрыто". На соседней ветке помогли, скрипт запустил, сейчас работает прога (аж две штуки, т.к. одна до того уже работала), но из-за ошибки скрипт, вероятно не сработает, потому что в процессах-то всё равно висеть будет, пока на "ОК" не нажмёшь!
Так вот как бы это автоматизировать - или процесс чтоб убивался тем же скриптом, но откуда скрипт знает - когда именно уже нужно убивать процесс, или как-то нажимать этот "ОК" без юзера.
Виндовыми средствами тоже, наверное, не выйдет, всё из-за этого же процесса.
Почитал на форуме, но толку мало - я 90% словов не знаю, одно понял, можно мышкой управлять, т.е. в принципе моя задача решаемая. Вникать не хочется - долго, а к тому же пока я вникать буду автор исправит программу и вылеты прекратятся - и чего... зачем я время убивал!

Creat0R
21-02-2011, 00:16
Нужно просто отловить появление окна, нажать ОК и запустить программу?

While (http://www.autoitscript.com/autoit3/docs/keywords.htm#While) 1
WinWait (http://www.autoitscript.com/autoit3/docs/functions/WinWait.htm)("title", "приложение будет закрыто")
WinClose (http://www.autoitscript.com/autoit3/docs/functions/WinClose.htm)("title", "приложение будет закрыто")
WinWaitClose (http://www.autoitscript.com/autoit3/docs/functions/WinWaitClose.htm)("title", "приложение будет закрыто")
Run (http://www.autoitscript.com/autoit3/docs/functions/Run.htm)("programa.exe")
WEnd (http://www.autoitscript.com/autoit3/docs/keywords.htm#WEnd)

alleo
21-02-2011, 00:24
Спасибо, попробую, но эта зараза по закону подлости вылетает, когда нет никого, т.е. ночью, а спросонья забудешь и опять имя процесса неизвестно...

alleo
21-02-2011, 14:43
Поймал вылет - Виндовый процесс DWWIN.EXE выводит окошко с ошибкой!
Как мне теперь правильно прописать в скрипт, чтобы этот процесс завершался?

Creat0R
21-02-2011, 20:05
Как мне теперь правильно прописать в скрипт, чтобы этот процесс завершался? »
ProcessClose("dwwin.exe")

alleo
21-02-2011, 20:25
Сейчас запущен скрипт с текстом:

Set WshShell = WScript.CreateObject("WScript.Shell")
Do
WshShell.Run "programm.exe", 1, True
Loop Until False

Куда воткнуть?




© OSzone.net 2001-2012