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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Деактивация одной программы при активации другой. (http://forum.oszone.net/showthread.php?t=349246)

Prono 21-07-2021 16:59 2962589

Деактивация одной программы при активации другой.
 
Всем здравствуйте.
Пользую программы "TunnelBear" и "utorrent-2.2.0". Есть необходимость , что б при активации/запуске "TunnelBear" производился выход (или приостановка ВСЕГО трафика) из "utorrent-2.2.0" и наоборот при закрытии (выходе) из "TunnelBear" автоматически запускался "utorrent-2.2.0". Как можно реализовать сию идею? Через планировщик? Через командную строку? Может в ярлыках что нужно прописать? А может вообще скрипт какой нужен?
Спасибо.
Файл 164973
Файл 164972
Файл 164971

DJ Mogarych 22-07-2021 09:45 2962622

Сделайте на рабочем столе два батника с двумя строками в каждом - первый батник гасит торрент и запускает прогу, а второй гасит прогу и запускает торрент.

megaloman 22-07-2021 14:31 2962638

Цитата:

Цитата Mogarych
Сделайте на рабочем столе два батника »

Похоже "utorrent-2.2.0" присутствует постоянно, поэтому хватит одного командного файла, причем не батника (будет недовольство висящим CMD - окном), а, например, vbs.
1. Убиваем "utorrent-2.2.0"
2. Запускаем "TunnelBear" и ждем его завершения.
3. Запускаем "utorrent-2.2.0"
Вот вариант. Так как у меня нет указанных программ, я их для отладки подменил другими, которые есть у всех.
Код:

utorrent = "C:\Windows\notepad.exe"
TunnelBear = "C:\Windows\System32\calc.exe"

Exe = CreateObject("Scripting.FileSystemObject").GetFileName(utorrent)
SQuery = "Select *From Win32_Process Where Name=" + """" + Exe + """"

Do
    Set Processes = GetObject("winMgmts:").ExecQuery(SQuery)
    For Each Process In Processes
        Process.Terminate
    Next
Loop While Processes.Count > 0

With CreateObject("WScript.Shell")
    Ret = .Run("""" + TunnelBear + """", 1, True)
    Ret = .Run("""" + utorrent + """", 1, False)
End With

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

Prono 22-07-2021 15:51 2962641

megaloman, что то типа этого, но... что мне делать с этим "кодом"??? Куда вставлять ? Что за прога нужна???

megaloman 22-07-2021 16:02 2962642

Вложений: 1
Prono, Сохранить этот код в файл с расширением .vbs. Этот файл - для системы стандартный исполняемый, запускается как любой другой исполнимый файл.
В файле прописать пути к своим программам. Файл можно поместить в любое место, хоть на рабочий стол, либо на этот файл сделать значок на рабочем столе. На всякий случай приложу файл живьём, единственное (кроме своих путей к программам), расширение .txt уберите.

Prono 22-07-2021 17:14 2962648

megaloman, пути прописал, тхт убрал . Нажимаю запуск вылазит ошибка Файл 164979, при этом да utorrent полностью закрывается... Я хотел что б при ЗАПУСКЕ TunnelBear ЗАКРЫВАЛСЯ utorrent. А так получается utorrent работает, запускаю TunnelBear, нажимаю на Файл 164980 вылазит ошибка , жму "ок" окошко закрывается и закрывается utorrent, всё равно , что в самом utorrent жамкнуть "exit".

megaloman 22-07-2021 17:35 2962653

Prono, переименуйте файл с Вашими изменениями с расширением txt и прикрепите к сообщению. Вы, похоже, неверно указали путь к файлу/файлам

Prono 22-07-2021 17:46 2962657

Цитата:

Цитата megaloman
и прикрепите к сообщению. »

Файл 164981

megaloman 22-07-2021 18:16 2962663

Вложений: 1
Prono, Не учел, что у Вас в путях пробелы. Исправил.
А Вы уверены, что правильно указали пути? ИМХО, каждый EXE скорее всего имеет свой путь.
Код:

utorrent = "C:\Program Files (x86)\uTorrent.exe"
TunnelBear = "C:\Program Files (x86)\TunnelBear.exe"

Сомневаюсь, что эти файлы в корне "C:\Program Files (x86)"

Prono 23-07-2021 11:01 2962689

Цитата:

Цитата megaloman
Сомневаюсь, что эти файлы в корне "C:\Program Files (x86)" »

Вы правы : сами то проги в папках с таким же названием Файл 164990, Файл 164991. Файл переименовал Файл 164992, кликаю, но ... ничего не происходит!!

megaloman 23-07-2021 12:31 2962697

Вложений: 1
Попробуйте отладочный вариант
Код:

utorrent = "C:\Program Files (x86)\uTorrent\uTorrent.exe"
TunnelBear = "C:\Program Files (x86)\TunnelBear\TunnelBear.exe"

Exe = CreateObject("Scripting.FileSystemObject").GetFileName(utorrent)
SQuery = "Select *From Win32_Process Where Name=" + """" + Exe + """"

MsgBox utorrent + vbCrLf + Exe + vbCrLf + TunnelBear

Do
    Set Processes = GetObject("winMgmts:").ExecQuery(SQuery)
    For Each Process In Processes
        Process.Terminate
    Next
    MsgBox "Processes.Count=" + CStr(Processes.Count)
Loop While Processes.Count > 0

With CreateObject("WScript.Shell")
    Ret = .Run("""" + TunnelBear + """", 1, True)
    Ret = .Run("""" + utorrent + """", 1, False)
End With

Напишите, что происходит.

Prono 23-07-2021 14:40 2962705

Вложений: 5
Цитата:

Цитата megaloman
Напишите, что происходит. »

Всё , спасибо - всё работает!!! Файл 164996 Файл 164997 Файл 164998 Файл 164999. При включении/перезагрузке системы uTorrent запускается автоматически и раздаёт файловый мусор. TunnelBear активирую только при необходимости сам, ручками. Сейчас когда включаю СОЕДИНЕНИЕ в TunnelBear Файл 165000, uTorrent ПРЕКРАЩАЕТ (плавно) весь трафик. И наоборот: отключаю соединение - файлы начинают набирать скорость раздачи/приёма!!! То что я и хотел!!!!!
РЕШЕНО!!!

megaloman 23-07-2021 15:34 2962709

Prono, Не понимаю, почему ранее не работало - ничего не изменилось. Красные строки можете удалить - они всего лишь информационные.

Prono 24-07-2021 10:05 2962745

megaloman, Оу, скорее всего это я что то не так тогда делал или не разобрался. :blush: :blush:
Ещё раз - спасибки!!! :good: :up:


Время: 07:11.

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