Завершение приложения по Hotkey

Обсуждение программ nnCron и nnCron LITE

Завершение приложения по Hotkey

Postby Einshtein » Thu, 18 Sep 2014, 10:28

Приветсткую. Есть такая задача

Code: Select all
#( CLASSIC-TASK-#-Stop_задача.exe
NoLog
     WatchProcStop: "задача.exe"
Action:
PAUSE: 500
   WIN-TERMINATE: "другая задача"
)#

Но при WIN-TERMINATE задача завершается некорректно, KILL, PROC-CLOSE почемуто не срабатывают.
Есть ли возможность вместо WIN-TERMINATE: "другая задача" послать процессу или окну "другая задача" Hotkey Alt-F4?
Прошу прощения, если теме есть и я ее не нашел.
Einshtein
 
Posts: 16
Joined: Wed, 12 Sep 2012, 04:54

Re: Завершение приложения по Hotkey

Postby VoidVolker » Thu, 18 Sep 2014, 12:35

Einshtein wrote:Но при WIN-TERMINATE задача завершается некорректно, KILL, PROC-CLOSE почемуто не срабатывают.

Значит неверно указа маска процесса или еще что-то типа антивируса или UAC может блокировать.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Завершение приложения по Hotkey

Postby Einshtein » Thu, 18 Sep 2014, 13:06

VoidVolker wrote:Значит неверно указа маска процесса или еще что-то типа антивируса или UAC может блокировать.

Антивирус не стоит на домашнем пк уже окло 3-х лет, UAC на 7-ке был отключен, на 8.1 работает. Я не разбираюсь в писании скриптов и кодов, поэтому, для моих скромных нужд хватало прописать точно путь к процессу либо указать имя окна, и все работало, но эта прога, TeamSpek 3 как-то по другому все воспринимает. Счас пользуюсь
MOUSE-MOVE: 1
MOUSE-RBCLK
PAUSE: 200
MOUSE-MOVE: 2
MOUSE-LBCLK

Но это не всегда удобно, вот и пришла безумная идея, а вдруг эта чудо програмка и это умеет :) (при заданном условии эмулировать нажатие Alt+F4)
Einshtein
 
Posts: 16
Joined: Wed, 12 Sep 2012, 04:54

Re: Завершение приложения по Hotkey

Postby VoidVolker » Thu, 18 Sep 2014, 18:10

Да, умеет. Надо только указать название исполняемого файла:
Code: Select all
KILL: "TeamSpek 3 process name.exe"
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Завершение приложения по Hotkey

Postby Einshtein » Thu, 18 Sep 2014, 23:23

VoidVolker wrote:Да, умеет. Надо только указать название исполняемого файла:
Code: Select all
KILL: "TeamSpek 3 process name.exe"

Не работает
ни так
Code: Select all
WatchProcStop: "il2fb.exe"
Action:
PAUSE: 500
KILL: "ts3client_win64.exe"

ни так
Code: Select all
[code]WatchProcStop: "il2fb.exe"
Action:
PAUSE: 500
KILL: "<путь к exe>\ts3client_win64.exe"[/code]

ни так

[code]KILL: <путь к exe>\ts3client_win64.exe

А варианта с Alt+F4 я так понял нет?
Einshtein
 
Posts: 16
Joined: Wed, 12 Sep 2012, 04:54

Re: Завершение приложения по Hotkey

Postby VoidVolker » Fri, 19 Sep 2014, 09:07

Вот, уже другое дело: программа 64-битная, а с этим есть некоторые сложности, т.к. сам ннкрон 32-битный. Так что да, Alt+F4 - самое простое.
Code: Select all
SEND-KEYS: "@({F4})"
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Завершение приложения по Hotkey

Postby Einshtein » Sat, 20 Sep 2014, 02:57

Спасибо большое за помощь, но у меня ничо не получилось, не нашел на форуме как выбрать окно которому надо послать задачу.
WIN-ACTIWATE и WIN-SHOW не хотя работать. Не будет ли наглостью с моей стороны попросить помощи в редактировании кода?
Code: Select all
#( CLASSIC-TASK-#-Stop_il2
NoLog
     WatchProcStop: "il2fb.exe"
Action:
PAUSE: 500
      PROC-CLOSE: "TrackIR.exe"
PAUSE: 100
     WIN-TERMINATE: "*TeamSpeak 3"
)#

где вместо WIN-TERMINATE: "*TeamSpeak 3" нужно указать SEND-KEYS: "^({Q})", Alt+F4 только сворачивает окно в трей.

И еще, не работает ...как запустить задачу с помощью ярлыка/шортката (*.lnk) http://www.nncron.ru/help/RU/add_info/tips_n_tricks.htm#lnk0

код в табе:

Code: Select all
#( test_task_shortcut
NoActive
Action:
    MSG: "Всем привет!"
)#

Ярлык:
свойства
Обект C:\mysoft\nnCron\nncron.exe -run test_task_shortcut
Рабочая папка C:\mysoft\nnCron
В итоге выдает окно с ошибкой

Image
Вставил код взятый здесь, но так со всеми задачами.

Система
Windows 8.1 x64
Запуск nnCron от имени администратора таким ключом реестра
Code: Select all
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run]
"nnCron"="C:\\mysoft\\nnCron\\nncron.exe -ns -dir C:\\mysoft\\nnCron\\рrofile"
Einshtein
 
Posts: 16
Joined: Wed, 12 Sep 2012, 04:54

Re: Завершение приложения по Hotkey

Postby VoidVolker » Sat, 20 Sep 2014, 07:29

Code: Select all
#( CLASSIC-TASK-#-Stop_il2
NoLog
WatchProcStop: "il2fb.exe"
Action:
PAUSE: 500
WIN-ACTIWATE: "*TeamSpeak 3*"
SEND-KEYS: "^(Q)"
)#

Einshtein wrote:И еще, не работает ...как запустить задачу с помощью ярлыка/шортката

Потому что кронтаб находится в нестандартном каталоге, скорее всего:
Code: Select all
"C:\\mysoft\\nnCron\\nncron.exe -ns -dir C:\\mysoft\\nnCron\\рrofile"

Соответственно, надо ннкрон запускать в этом каталоге:
Code: Select all
"C:\mysoft\nnCron\nncron.exe" -dir "C:\mysoft\nnCron\рrofile" -run test_task_shortcut

Либо перенести кронтабы в домашний каталог ннкрона.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Завершение приложения по Hotkey

Postby Einshtein » Sat, 20 Sep 2014, 10:57

VoidVolker wrote:Соответственно, надо ннкрон запускать в этом каталоге:
Code: Select all
"C:\mysoft\nnCron\nncron.exe" -dir "C:\mysoft\nnCron\рrofile" -run test_task_shortcut

Либо перенести кронтабы в домашний каталог ннкрона.

Вы оказались правы, все заработало, огромное спасибо.
А вот по второму вопросу нет
Code: Select all
#( Stop_il2
NoLog
WatchProcStop: "il2fb.exe"
Action:
WIN-ACTIVATE: "*TeamSpeak 3*"
SEND-KEYS: "^({Q})"
TRAY-REFRESH
)#

Пробовал и такой вариант
Code: Select all
#( test
NoLog
RunOnce
NoDel
Time: 0 10 1 9 * 2014
Action:
PAUSE: 1000
    MOUSE-MOVE: 1650 1065
     MOUSE-RBCLK
PAUSE: 200
    MOUSE-MOVE: 1650 885
     MOUSE-LBCLK
PAUSE: 100
SEND-KEYS: "^({Q})"
TRAY-REFRESH
)#

т.е мышью активировал окно из трея. Не работает, к сожалению.
Einshtein
 
Posts: 16
Joined: Wed, 12 Sep 2012, 04:54

Re: Завершение приложения по Hotkey

Postby VoidVolker » Sat, 20 Sep 2014, 12:33

Если окно не активируется - оно либо скрыто либо маска не совпадает.
Code: Select all
WIN-SHOW: "*TeamSpeak 3"

Или:
Code: Select all
WIN-SHOW: "*TeamSpeak 3"
WIN-ACTIWATE: "*TeamSpeak 3*"


Фигурные скобки в SEND-KEYS только для специальных кодов. Вот так правильнее будет:
Code: Select all
SEND-KEYS: "^(Q)"

Вариант два:
Code: Select all
162 specKeyDN [CHAR] Q specKeyDN [CHAR] Q specKeyUP 162 specKeyUP

Вариант 3, с плагином sendinput.spf:
Code: Select all
Ctrl( [CHAR] Q AKEY )Ctrl


Ссылка на мануал в подписи.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Завершение приложения по Hotkey

Postby Einshtein » Sat, 20 Sep 2014, 13:56

Второй вариант хоткея работает, но только с этим кодом
Code: Select all
    Action:
    PAUSE: 1000
        MOUSE-MOVE: 1650 1065
         MOUSE-RBCLK
    PAUSE: 200
        MOUSE-MOVE: 1650 885
         MOUSE-LBCLK
    PAUSE: 2000
        162 specKeyDN [CHAR] Q specKeyDN [CHAR] Q specKeyUP 162 specKeyUP

Все варианты с
Code: Select all
WIN-SHOW: "*TeamSpeak 3*"
WIN-SHOW: "*TeamSpeak 3"
WIN-SHOW: "TeamSpeak 3"
WIN-ACTIVATE: "*TeamSpeak 3*"
WIN-ACTIVATE: "*TeamSpeak 3"
WIN-ACTIVATE: "TeamSpeak 3"
не работают. Про клас немного не понял, но если насчет правильности термина "TeamSpeak 3",
то WIN-TERMINATE: "TeamSpeak 3" работает
Einshtein
 
Posts: 16
Joined: Wed, 12 Sep 2012, 04:54

Re: Завершение приложения по Hotkey

Postby VoidVolker » Sat, 20 Sep 2014, 14:58

Поставил тимспик 32-битный: попытки скрыть/показать его окно приводят к его зависанию. Рекомендую использовать 32-битную версию - она легко убивается через KILL:
Code: Select all
KILL: "ts3client_win32.exe"

Хоткеем в окне убиватеся так:
Code: Select all
SEND-KEYS: "^(q)"
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Завершение приложения по Hotkey

Postby Einshtein » Sat, 20 Sep 2014, 19:25

32-битный не запускается на х64 системе, к сожалению. Было важно именно хоткей спользовать, жаль что ничего не получилось.
Einshtein
 
Posts: 16
Joined: Wed, 12 Sep 2012, 04:54

Re: Завершение приложения по Hotkey

Postby VoidVolker » Sat, 20 Sep 2014, 21:46

Einshtein wrote:32-битный не запускается на х64 системе, к сожалению

Запускается.
Einshtein wrote:важно именно хоткей спользовать, жаль что ничего не получилось

Получилось: у меня хоткей работает отлично.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Завершение приложения по Hotkey

Postby ANR Daemon » Sun, 21 Sep 2014, 19:23

Найдите окно по классу и пошлите ему WM_QUIT.
ANR Daemon
 
Posts: 234
Joined: Mon, 26 Feb 2007, 22:59

Next

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 6 guests

cron