Сервис "Restart DM"

Все что касается разработки, отладки, использования подключаемых модулей.

Moderators: Korney San, marcipan

Post Reply
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Сервис "Restart DM"

Post by Korney San »

Не помню, звучало ли в "Хотелках" (по крайней мере, поиск не нашёл), но для удалёного управления может понадобиться, потому написал и выкладываю один сервис из кучи самостоятельно. :)

Сервис Restart DM.
Перезагружает DM:
- по команде из модуля (Вам не пригодится ;) );
- по нажатию кнопки "Настройка" в окне настройки плагинов при выбранном сервисе;
- по щелчку по пункту меню "Плагины" с названием сервиса.

Технология работы:
При запуске DM определяется папка установки и временная папка. При вызове во временной папке создаётся bat-файл со строками закрытия и запуска DM, который затем запускается на исполнение. При следующей загрузке DM bat-файл стирается.

P.S. Попытка "самоподрыва" DM путём запуска bat-файла через команду Plugin API не увенчалась успехом, т.к. DM не успевает закрыться до начала выполнения второй строки bat-файла. :D То есть как раз "самоподрыв" получился, последующий запуск - нет.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
ponand
Гуру
Posts: 134
Joined: 15 Jun 2008, 2:55 Sun
Location: Ставропольский край

Re: Сервис "Restart DM"

Post by ponand »

Korney San wrote: P.S. Попытка "самоподрыва" DM путём запуска bat-файла через команду Plugin API не увенчалась успехом, т.к. DM не успевает закрыться до начала выполнения второй строки bat-файла. :D То есть как раз "самоподрыв" получился, последующий запуск - нет.
попробуйте так:
С паузой и самоудолением

Code: Select all

@echo off
chcp 1251>nul
set DM="C:\Program Files\Download Master"
start /d %DM% dmaster.exe -exit
ping -n 4 -w 1000 127.0.0.1>nul
start /d %DM% dmaster.exe -autorun
if exist %0 del %0 /Q
или так, с проверкой процессов и самоудалением

Code: Select all

@echo on
chcp 1251>nul
set DM="C:\Program Files\Download Master"
start /d %DM% dmaster.exe -exit
:xxx
tasklist | findstr /i dmaster.exe 1>nul || Goto xxx
start /d %DM% dmaster.exe -autorun
if exist %0 del %0 /Q
или как параметр запуска, с убиством процесса

Code: Select all

/c (tasklist | findstr/i "dmaster.exe" && taskkill /f /im "dmaster.exe" && start /d "C:\Program Files\Download Master" dmaster.exe -autorun)
XPProSP3 (zver) DM 5.13.2.1317 Опера 12.01.1532
Post Reply