Как остановить выполнение задачи

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

Как остановить выполнение задачи

Postby andr128 » Fri, 13 Nov 2009, 00:53

Подскажите как остановить выполнение задачи с клавиатуры. К примеру, запустил выполнение задачи которая управляет движением мыши в течении 20 мин. Возможно ли остановить мышиный безпредел клавиатуры?
andr128
 
Posts: 9
Joined: Thu, 13 Mar 2008, 00:46

Re: Как остановить выполнение задачи

Postby elos » Fri, 13 Nov 2009, 09:10

Как всегда - все дожны догажываться... Хотя бы текст задачи привёл.

Посмотреть и попробовать что-то типа http://www.nncron.ru/help/RU/add_info/t ... OpenThread
или http://www.nncron.ru/help/RU/add_info/t ... htm#active

Если алгоритм цикличен - встроить в цикл опрос клавиатуры и выход по запросу на прерыванию
elos
 
Posts: 664
Joined: Tue, 25 Apr 2006, 11:15

Re: Как остановить выполнение задачи

Postby andr128 » Fri, 13 Nov 2009, 10:48

Уточню вопрос, существует ли комбинация горячих клавиш, по которой бы прекращалось выполнение любой задачи nnCron, или приостанавливался nnCron, или вообще выключался? К примеру накосячил с бесконечным циклом, в котором эмуляция перемещения и кликов мыши.
andr128
 
Posts: 9
Joined: Thu, 13 Mar 2008, 00:46

Re: Как остановить выполнение задачи

Postby VoidVolker » Fri, 13 Nov 2009, 11:12

В циклах для выхода достаточно просто проверить нажата-ли кнопка. А для тяжелых случаев использую вот такую задачу:
Code: Select all
#( nnCron-Reload
\  NoActive
WatchHotKey: "^+{DELETE}"
SingleInstance
Action:
BEGIN
  300 PAUSE
  VK_CONTROL KEY-PRESSED?
  VK_SHIFT KEY-PRESSED? AND
  VK_DELETE KEY-PRESSED? AND
UNTIL
500 500 BEEP
S" nncron.exe" KILL
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Как остановить выполнение задачи

Postby andr128 » Fri, 13 Nov 2009, 12:57

Спасибо, полезный примерчик. А есть ли вариант, не перезагрузить а просто выгрузить nnCron?
У меня была ситуация приблизительно как в примере ниже.
Code: Select all
#( OmegaCat1
\ NoActive
\ WatchHotKey: "^@o"
Action:
PAUSE: 400
1800 0 DO
MOUSE-MOVEW: 508 490 PAUSE: 200
LCLICK PAUSE: 200
LCLICK PAUSE: 200
LOOP
)#
andr128
 
Posts: 9
Joined: Thu, 13 Mar 2008, 00:46

Re: Как остановить выполнение задачи

Postby VoidVolker » Fri, 13 Nov 2009, 13:59

Из цикла легко выйти по условию:
Code: Select all
1800 0 DO
MOUSE-MOVEW: 508 490 PAUSE: 200
LCLICK PAUSE: 200
LCLICK PAUSE: 200
VK_CONTROL KEY-PRESSED? IF UNLOOP THEN
LOOP

А выгрузить крон можно простым запуском stopnncron.bat. Или вместе с ннкроном вырубать nnguard:
Code: Select all
#( nnCron-kill
\  NoActive
WatchHotKey: "^+{DELETE}"
SingleInstance
Action:
BEGIN
  300 PAUSE
  VK_CONTROL KEY-PRESSED?
  VK_SHIFT KEY-PRESSED? AND
  VK_DELETE KEY-PRESSED? AND
UNTIL
500 500 BEEP
S" nnguard.exe" KILL
S" nncron.exe" KILL
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Как остановить выполнение задачи

Postby andr128 » Fri, 13 Nov 2009, 20:33

Спасибо за потраченое на меня время. Да действительно чего то я затупил. Можно ведь просто было сделать вот так
Code: Select all
#( Stopnncron
\  NoActive
WatchHotKey: "^+{DELETE}"
Action:
StartIn: "C:\Program Files\nnCron"
ShowNormal   NormalPriority
START-APP: C:\Program Files\nnCron\stopnncron.bat
)#

Перезагрузка nnCron и выход из цикла мне не помогли бы так как задача запускалась заново.
Code: Select all
#( OmegaCat1
\ NoActive
\ WatchHotKey: "^@o"
Action:
andr128
 
Posts: 9
Joined: Thu, 13 Mar 2008, 00:46

Re: Как остановить выполнение задачи

Postby VoidVolker » Fri, 13 Nov 2009, 23:48

andr128 wrote:С
Перезагрузка nnCron и выход из цикла мне не помогли бы так как задача запускалась заново.

Вот так правильнее:
Code: Select all
#( OmegaCat1
\ NoActive
\ WatchHotKey: "^@o"
SingleInstance
Action:
<.....>
)#

Или как вариант просто семафор сделать и другой задачей его дергать:
Code: Select all
#( OmegaCat1
\ NoActive
\ WatchHotKey: "^@o"
SingleInstance
-1 VALUE omegacat1-on?
Rule: omegacat1-on?
Action:
1800 0 DO
MOUSE-MOVEW: 508 490 PAUSE: 200
LCLICK PAUSE: 200
LCLICK PAUSE: 200
omegacat1-on? IF LEAVE  THEN
LOOP
)#

#( OmegaCat1-on-off
\ NoActive
\ WatchHotKey: "^+o"
Action:
omegacat1-on? NEGATE TO omegacat1-on?
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Как остановить выполнение задачи

Postby ascerdfg1 » Thu, 12 Apr 2012, 19:53

VoidVolker wrote:Из цикла легко выйти по условию:
Code: Select all
1800 0 DO
MOUSE-MOVEW: 508 490 PAUSE: 200
LCLICK PAUSE: 200
LCLICK PAUSE: 200
VK_CONTROL KEY-PRESSED? IF UNLOOP THEN
LOOP


Не анлупится, а только лишь зацикливается навсегда.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Как остановить выполнение задачи

Postby VoidVolker » Thu, 12 Apr 2012, 20:32

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

Re: Как остановить выполнение задачи

Postby ascerdfg1 » Fri, 13 Apr 2012, 06:09

Возможно UNLOOP EXIT проканает.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Bing [Bot] and 1 guest