Autorun
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Стандартная конструкция, что-нибудь типа "If ProcessExists() Then" (собственно, как и написал LonerD). Т.е. проверяется наличие процесса, и если его нет - выполняется запуск.Flasher писал(а):Если не место, то как этот плагин будет взаимодейтсвовать с ShellExec, с помощью которого запускается программа/скрипт?
А что писать в ProcessExists? PID мы не знаем. Знаем путь к файлу, имя, класс. А нам не во всех случаях нужно, допустим, учитывать процессы копий. Как тут? И если это скрипт, работающий через постредника, то как и что указывать?
Если указывать путь, то нужно бы сделать так, чтобы не делать это дважды, т.е. в обеих командах ProcessExists/ShellExec. Хотя указывать путь - это не решение для копий TC.
Если указывать путь, то нужно бы сделать так, чтобы не делать это дважды, т.е. в обеих командах ProcessExists/ShellExec. Хотя указывать путь - это не решение для копий TC.
Имя процесса.Flasher писал(а):А что писать в ProcessExists?
Не понял.Flasher писал(а):А нам не во всех случаях нужно, допустим, учитывать процессы копий.
Не вижу тут ничего ужасного. Нормальная практика для скриптинга. Если что - есть переменные.Flasher писал(а):Если указывать путь, то нужно бы сделать так, чтобы не делать это дважды, т.е. в обеих командах ProcessExists/ShellExec.
У нас запущено некое приложение, вызываемое по ShellExec. Нам нужно, чтобы копии программ запускались только тогда, когда не запущено ни одной копии TC. Т.е. если другая копия TC уже запущена, то копию программы открывать надо.Loopback писал(а):Не понял.
Точно.Loopback писал(а):Если что - есть переменные.
По скриптам не ответил.
Последний раз редактировалось Flasher Пт ноя 11, 2011 20:55, всего редактировалось 1 раз.
То есть, для первого запущенного тотала программу запускать не надо? А для второго, третьего, десятого и т.п. - надо?Flasher писал(а):У нас запущено некое приложение, вызываемое по ShellExec. Нам нужно, чтобы копии программ запускались всегда кроме случаев, когда не запущено не одной копии TC. Т.е. если другая копия TC уже запущена, то копию программы открывать надо.Loopback писал(а):Не понял.
Если надо учитывать число процессов с таким именем, функция плагина вполне может возвращать число таких процессов.
- LonerD
- Сообщения: 1173
- Зарегистрирован: Вт янв 04, 2011 03:56
- Откуда: Макеевка
- Контактная информация:
Я тут встряну в диалог и напомню о своей ошибке с закрыванием Тотала 1.6 беты если в настройках прописан запуск программ ShellExec /TT /W.
Сейчас примерно такой же баг (ошибка при закрытии тотала и шизофреничное поведение мыши при этом) словил в Win7x64 и на предыдущих версиях (1.5, 1.4 последняя бета) в случае если указанный ехе файл не существует.
Строка запуска выглядит так:
ShellExec /TT /W "%commander_path%\Plugins\exe\Program.exe" "" "%commander_path%\Plugins\exe\"
Но самого файла Program.exe не существует.
Тотал крашится. Может, инфа как-то поможет исправить баг.
Сейчас примерно такой же баг (ошибка при закрытии тотала и шизофреничное поведение мыши при этом) словил в Win7x64 и на предыдущих версиях (1.5, 1.4 последняя бета) в случае если указанный ехе файл не существует.
Строка запуска выглядит так:
ShellExec /TT /W "%commander_path%\Plugins\exe\Program.exe" "" "%commander_path%\Plugins\exe\"
Но самого файла Program.exe не существует.
Тотал крашится. Может, инфа как-то поможет исправить баг.
Вовсе необязательно напоминать об этом на каждой страницеLonerD писал(а):Я тут встряну в диалог и напомню о своей ошибке с закрыванием Тотала 1.6 беты если в настройках прописан запуск программ ShellExec /TT /W.
Попробуй эту версию.
Похоже, с новым компилятором, функции OpenProcess почему-то внезапно перестало хватать привилегий...
Это вероятнее всего другое. Но тут достаточно очевидный баг, тоже исправил.LonerD писал(а): в случае если указанный ехе файл не существует.