Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   автомат (http://forum.oszone.net/showthread.php?t=29826)

fugitive 12-04-2004 07:14 205948

Хай всем. Может кому интересно, есть задача: запустить три программы(в идеале неограниченное кол-во) одним кликом иконки. Программы должны загружатьс с определенным промежутком времени, зависящим то полной закрузки приведужей программы. Пример, есть некая иконка I* на мониторе, кликаешь ее, запускается - антивирус, после его полной загрузки идет фаервал, после его загрузки идет дозвон в интернет и после коннекта идет запуск интернет броузера. Дальше, все с точностью донаоборот. Кликаешь по крестику закрытия браузера, 1. закрывается броузер, 2. идет дисконнект, 3. выгружается фаервал и последнее выгружаетя антивирус. И еще одно условие, сделать скрипт применимым к различным оп. системам, или по крайней умеющим работать на различных компютерах, а не быть приспособленным только для определнного браузера, только для определенного антивируса, только...... и т.д и т.п.
Если у кого возникло желание помоч, буду неограниченно благодарен!!!!!
Ну а если нет желания, то может кто нить подскажет пути решения этой задачи. Я уже попыталя создать что то используя приложения WinBatch and AutoMate. Первый очень сложный, время потраченое на изучение работы в этой проге не окупится ценой этого скрипта, а вторая прога работает только со своими скриптами, что сразу отметается, когда надо сделать скрипт универсальным и "переносным".

P.S. ---- Я не программист. Единственное что меня соединеят с программированием это написание flash скриптов, и то самых простых. Так что возможно это или нет

hasherfrog 12-04-2004 08:46 205949

Главная поблема -  то что Вы назвали "определенным промежутком времени, зависящим то полной закрузки приведужей программы". Никогда нельзя быть уверенным, что программа полностью загрузилась, если только она Вам сама не сообщит об этом (созданием какого-нибудь файла, установкой флага в расшаренной памяти или ещё как-нибудь). Так что данная задача не может быть решена "в общем случае".

mrcnn 12-04-2004 09:08 205950

Не знаю насколько Вам это подойдет и возможно ли сделать точно то, что вы хотите, но попробуйте использовать программу Windows Power Pro

во всяком случае там можно реализовать запуск и закрытие 3 (и более - практически неограниченное колитчество) программ кликом на 1 иконку (в баре программы - который можно разместить в любом месте рабочего стола).
Кроме того, есть Sheduler и можно через Sheduler установить время запуска программ или время подключения к интернет или , *и вам даже не будет нужно кликать на иконку. Все сделается само в нужное время.

Скачать можно здесь -http://www.windowspowerpro.com/download/pwrpro38.zip

Возможностей у программы много - я сам до конца не разобрался. *Программа очень удобная (то что называется must-have), но требует время, чтобы в ней разобраться. *

Интерфейс английский. Есть или нет русификация, не знаю.
Проограмма - абсолютно фриварная.

[s]Исправлено: mrcnn, 9:10 12-04-2004[/s]

fugitive 13-04-2004 02:46 205951

всем кто откликнулся спасибо.:)
to hasherfrog: ну хороше, к примеру промежуток времени между запускоп програм можно выставить в ручную, тоесь сделать все тоже самое мышкой, засеч время для каждой программы и выставить его. Но вопрос который меня больше волнует, чем просто открытие програм, как можно сделать ЗАКРЫТИЕ несколькоих програм в определенной последовательности, после определенного действия, в моем примере это клик мышки по значку закрытия интрернет броузера? Я накопал множество програм которые предлагают чистово воды компиляцию путей определенных програм в один*.exe файл, но это только половина и то оооочень маленькая, потому что туда невозможно поставить запуск даялапа, это окно генерится автоматически, а как эту переменную вычистьить, я не знаю. Честно говоря я ничего не заню, но есть огромная лень которая меня застовляет ковырятся в различном софте, выискивая хоть что то, что может помочь. Но я все больше склоняюь к мысле, что то, что казалось очень легким, оказывается ооооочень трудным, и даже программеры к которым я обращался незнают простого решения этой задачи. Ну это уже офтоп.:o

hasherfrog 13-04-2004 14:49 205952

tailgater
Да, к сожалению в виндах "вообще", т.е. без частностей типа NT Terminal Server нет понятия "управляющий терминал". В Unix все было бы проще (не совсем, конечно без проблем, но проще). Поэтому закрытие программ из-под виндов сложно. Можно пробовать убивать программы по их pid (в виндах их можно узнать через какой-нибудь tasklist -> taskkill). Но при этом две программы с одним именем как-то должны различаться (должен фиксироваться снимок процессов в момент старта пакетного задания, что-то вроде того). Можно запускать процессы через exec'и (под виндами что-то типа CreateProcessEx) и держать хендлы. Но оба метода не смогут отследить создание из запущенных программ других процессов. В Unix это решается (через
getgid), а вот в виндах - не знаю.
Кстати, по поводу отслеживания времени запуска вручную - при сильно загруженной системе время будет отличаться от "стандартного", ну Вы понимаете...

ivank 14-04-2004 00:07 205953

hasherfrog
Цитата:

В Unix это решается (через getgid), а вот в виндах - не знаю.
Если через пятую точку, то хуками на всё, что позволяет породить новый процесс.

Добавлено:

tailgater
А по уму - изобретать вообще ничего не надо, существует замечательный nnCron, который обладает всеми требуемыми свойствами. Только с ним надо разбираться, и немного понимать в форте (хотя, со стековой машиной разобраться совсем несложно).

fugitive 14-04-2004 03:50 205954

Спасибо всем. Но, как я писал выше, в програмировании я почти что ноль, единственное что я могу сделать - написать простенький скрипт во flash. Так что все что вы предлогаете хороше, только не для меня:(  Я вообще думал найти что нибудь попроще с инуититивным интерфейсом (~AutoMate 5), как говорится, что бы и чайнику понятно было. А так, мдя. Ну что, не умру, буду кнопки нажимать.:gigi:


Время: 16:16.

Время: 16:16.
© OSzone.net 2001-