Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » nnCron

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Открыть новую тему     Написать ответ в эту тему

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nnCron
 
nnCron - это компактный, но мощный планировщик и менеджер автоматизации с собственным скриптовым языком, основанным на синтаксисе языка программирования Форт. Помимо традиционной для планировщика способности запускать в указанное время программы, "напоминалки" и открывать документы ..
 
nnCron способен отслеживать файлы, флаги, окна, процессы, движения мыши, время простоя компьютера, клавиатурные шорткаты, выход в онлайн/оффлайн, появление диска в драйве, наличие хоста в сети (пинг), изменение удаленного ресурса по http-протоколу, количество свободного места на диске, загруженность оперативной памяти и многое другое...
 
nnCron понимает cron-формат (Unix) и управляется с помощью текстовых кронтаб-файлов. Для тех, кто любит работать с GUI есть графическая оболочка из которой можно удалять/добавлять/редактировать и запускать задачи, устанавливать напоминалки, менять настройки программы.
 
nnCron позволяет использовать в задачах VBScript/JScript, регулярные выражения и расширяется за счет плагинов. Он может быть запущен в качестве службы (сервиса) или как обычное приложение. Обладает средствами удаленного администрирования. Подробнее прочитать о возможностях nnCron вы можете в online-документации.
 
nnCron бесплатен для граждан стран бывшего СССР при условии частного и некоммерческого использования.


история изменений - https://nncron.ru/forums/viewforum.php?f=11
форум - https://nncron.ru/forums/
 
архив конференции поддержки: » fido7.ru.nncron
 
скачать: https://nncron.ru/download_ru.shtml - программу, документацию, плагины, скрипты
 
последняя версия:
 
v.1.91 (build 1083) - последний релиз от 21 марта 2006 (+ основные плагины и документация на английском языке)
v.1.93 beta 15 - последняя бета от 15.02.2016
history
 
документация:
 
help_ru.zip  (обновляется регулярно) документация nnCron (на русском языке)
faq_ru.zip nnCron FAQ (на русском языке)
spf_help.zip (130k  20 Nov 2002)  описание основных слов SP-Forth (на русском языке)
sf.chm (1.5M  03 Feb 2003)  книга Leo Brodie "Начальный курс программирования на языке Форт" (на русском языке)
 
полезные ссылки:
* » nnBackup - крошечная (250k) консольная утилита, предназначенная для резервного копирования файлов, синхронизации содержимого каталогов, создания и обработки файл-листов.
* » Cтатья Валерия Кондакова про возможности nnCron
* » Канал "nnCron releases" для » WatzNew by 8AleX8
* » Файл расцветки синтаксиса исходников языка Форт и кронтабов nnCron для плагина Colorer (Far Manager)
* » Редактор мелодий для beeper'a под nnCron
Если не работает новая, правильно написанная задача, то попробуйте добавить в опции задачи слово AsLoggedUser (галочка в свойствах новой задачи "Как пользователь, выполнивший login") и, возможно, LoadProfile (галочка "Загрузить профиль").
 

Полезные самодельные задачи для сабжа на Ru-Board'е
 
Если хочется в имени задачи поставить пробел, используйте комбинацию Alt+0160, такой пробел принимается.
 
Полезные самодельные задачи для сабжа на оффоруме
 
Актуально!!! Запуск и работа nnCron в Win7 (оффорум)
 
nnCron на GitHub
 
 
предыдущее обсуждение - тут

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 15:38 29-01-2008 | Исправлено: RetroRocket, 07:16 15-10-2024
AlikasS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а не проще ли запустить бесконечный цикл
 
 
Ты же сначала хотел без явного цикла ))

Всего записей: 183 | Зарегистр. 30-11-2009 | Отправлено: 20:06 08-09-2023
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlikasS
 
Протестировал задачу, интервал 2 мин

Код:
 
#( get_start_time
2VARIABLE DateTimeStart  
Time: START-TIME
Action:
GET-CUR-TIME FT-CUR DateTimeStart 2!
)#  
 
#( рабочая_задача
6 VALUE 2
Rule: FT-CUR DateTimeStart 2@ FT- FT>MIN 2 MOD 0=
Action:
StartIn: "C:\Windows"  
ShowNormal   NormalPriority
START-APP: C:\Windows\notepad.exe
)#  
 

 
Срабатывает после запуска nnCron через 1 минуту один раз, дальше запусков нет.  

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 20:27 08-09-2023 | Исправлено: sundraw, 21:45 08-09-2023
KPGA

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
6 VALUE 2  

Это что за прикол переопределить число именем 2 на значение 6 ?
(при этом, как понимаю в Rule: 2 - это и есть и осталось 2 или что там в этом месте будет положено на стек?)
 
6 - это и есть значение VALUE-переменной Мой-интерал, а имя Мой-интервал можно указать хоть ABC вместо Мой-интервал.  
Переменные созданные по слову VALUE дают своё значение, а не адрес в памяти как определяемые по слову VARIABLE
6 TO Моя-переменная \ для изменения её значения в нужном месте после её создания словом VALUE
 

Всего записей: 193 | Зарегистр. 04-10-2018 | Отправлено: 22:01 08-09-2023 | Исправлено: KPGA, 22:29 08-09-2023
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой вариант работает чётко. Здесь с 3-х минутным интервалом

Код:
 
#( get_start_time
2VARIABLE DateTimeStart  
Time: START-TIME
Action:
GET-CUR-TIME FT-CUR DateTimeStart 2!
)#  
 
#( рабочая_задача
Rule: FT-CUR DateTimeStart 2@ FT- FT>MIN 3 MOD 0=
Action:
StartIn: "C:\Windows"  
ShowNormal   NormalPriority
START-APP: C:\Windows\notepad.exe
)#  
 

 
AlikasS, KPGA большое вам спасибо.
 

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 22:30 08-09-2023 | Исправлено: sundraw, 22:42 08-09-2023
KPGA

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
3 VALUE  

 вообще тогда бесполезная и бессмысленная строка

Всего записей: 193 | Зарегистр. 04-10-2018 | Отправлено: 22:36 08-09-2023 | Исправлено: KPGA, 23:01 08-09-2023
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KPGA

Цитата:
Цитата:
3 VALUE  
 
 вообще тогда бесполеная и бессмысленная строка  

Убрал эту строку в предыдущем скрипте, всё работает без проблем. Спасибо.

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 22:44 08-09-2023
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может ли крон распознавать цвета? Например, не реагировать на зелёную иконку в трее, и реагировать на синюю?

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 05:52 13-09-2023 | Исправлено: sundraw, 05:54 13-09-2023
AlikasS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Может ли крон распознавать цвета?

можно цвет пикселя определить по заданным координатам

Код:
WINAPI: GetPixel gdi32.dll
: GET-PIXEL  ( x y -- RGB )
   SWAP GetDesktopWindow DUP >R GetWindowDC DUP >R GetPixel R> R> ReleaseDC DROP
;
 
300 500 GET-PIXEL 0x00FF00 =
IF
\ зеленый
ELSE
\ не зеленый
THEN
 

или поискать еще какую функцию из WIN-API по определению цвета

Всего записей: 183 | Зарегистр. 30-11-2009 | Отправлено: 10:21 13-09-2023 | Исправлено: AlikasS, 10:22 13-09-2023
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlikasS, спасибо.
Боюсь, придётся отказаться от этого способа из-за WINAPI. В Win 7 x86 её нет. Устанавливать новую систему из-за неё слишком проблематично.

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 13:15 13-09-2023 | Исправлено: sundraw, 13:15 13-09-2023
AlikasS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В Win 7 x86 её нет

функция GetPixel появилась с Windows 2000 Professional  ))

Всего записей: 183 | Зарегистр. 30-11-2009 | Отправлено: 04:03 14-09-2023
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlikasS

Цитата:
Цитата:
В Win 7 x86 её нет
 
функция GetPixel появилась с Windows 2000 Professional  ))


Все службы включены, gdi32.dll есть, WinApi.dll нет, да ещё подозрительные кракозябры в консольном окне перед WINAPI. Что-то не даёт запуститься. В инете нашёл WinApi.dll только для Win10 x64. Для того, чтобы восстановить её, рекомендуют либо обновить винду, либо переустановить, что в моём случае ведёт к куче проблем, что не стоит свеч.  
P.S. Запускал в виртуальной машине. Для проверки запустил на хостовой Win 11, получил ту же самую ошибку, только без кракозябров перед WINAPI.
P.S.P.S. Установил новую оригинальную Win 7 PRO x86. То же самое.

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 06:56 14-09-2023 | Исправлено: sundraw, 11:09 14-09-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sundraw
winapi это не dll, а интерфейс - официально документированное множество способов взаимодействия с ОС. На практике - подгружаем нужную dll и вызываем её функцию с нашими аргументами, получаем результат. Функции описаны на сайте MS.

Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 08:03 14-09-2023 | Исправлено: Alexyz21, 08:05 14-09-2023
AlikasS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
мой предыдущий Код:
это был код для последующего "допиливания" ))
 

Цитата:
да ещё подозрительные кракозябры в консольном окне
речь же о nncron идет, зачем ты в консоль командной строки полез?
еще ладно бы консоль nncron запустил и там код пробовал )) (кстати не сработает в части IF ELSE THEN, читать если что с HELP)
 
вот код для вставки в кронтаб и теста и последующей переделки под себя

Код:
<%
WINAPI: GetPixel gdi32.dll
: GET-PIXEL  ( x y -- RGB ) SWAP GetDesktopWindow DUP >R GetWindowDC DUP >R GetPixel R> R> ReleaseDC DROP ;
%>
 
#( какой_цвет
NoActive
Action:
300 500 ( x y )  GET-PIXEL 0x00FF00 =
IF
TMSG: "зеленый" 5
ELSE
TMSG: "не зеленый" 5
THEN
)#

Всего записей: 183 | Зарегистр. 30-11-2009 | Отправлено: 05:41 15-09-2023 | Исправлено: AlikasS, 05:48 15-09-2023
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlikasS
Не совсем понял последний скрипт. При создании новой задачи в nncron в Действие вношу этот код в Запустить скрипт. Выдаёт вот что

Код:
 
#( RGB
NoActive
NoLog
Action:
<%
WINAPI: GetPixel gdi32.dll
: GET-PIXEL  ( 1244 749 -- RGB ) SWAP GetDesktopWindow DUP >R GetWindowDC DUP >R GetPixel R> R> ReleaseDC DROP ;
%>
 
#( color
NoActive
Action:
300 500 ( 1244 749 )  GET-PIXEL 0x00FF00 =
IF
TMSG: "green" 5
ELSE
TMSG: "not green" 5
THEN
)#  
)#
 

При этом ругается на синтаксическую ошибку. Что не так?

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 07:14 15-09-2023
virjokk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sundraw
Зачем вы создали задачу RGB? Делайте точно, как вам написали. Первая часть кода <%…%> пишется просто в кронтаб вне области задач

Всего записей: 330 | Зарегистр. 19-05-2006 | Отправлено: 09:32 15-09-2023 | Исправлено: virjokk, 09:45 15-09-2023
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Зачем вы создали задачу RGB? Делайте точно, как вам написали. Первая часть кода <%…%> пишется просто в кронтаб вне области задач

Так тоже выдаёт синтаксическую ошибку. Делал отдельный кронтаб с кодом, всё то же. Только полное удаление кода нормализует кронтаб. Какой плагин отвечает за код? Может он у меня не подгружен?
P.S. Версия nnCron v 1.93b12, на последней v 1.93b15 то же самое.

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 10:26 15-09-2023 | Исправлено: sundraw, 10:38 15-09-2023
virjokk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sundraw
Нужен плагин osd.spf, либо просто добавьте определения: WINAPI: GetWindowDC user32.dll, WINAPI: ReleaseDC user32.dll

Всего записей: 330 | Зарегистр. 19-05-2006 | Отправлено: 10:37 15-09-2023 | Исправлено: virjokk, 11:10 15-09-2023
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
virjokk

Цитата:
Нужен плагин osd.spf, либо просто добавьте определения: WINAPI: GetWindowDC user32.dll, WINAPI: ReleaseDC user32.dll

Вот где собака была зарыта, этого плагина как раз и нет. Поставлю, отпишусь.
 
Добавлено:
Всё в порядке, работает. Только пока цвета не обнаруживает, пишет, "не зелёный", наверное, иконка маловата или цвет скорее салатовый или светло-зелёный. Потренируюсь в координатах, координаты абсолютные.
 
Добавлено:
Попробовал поиграться с разными цветами. Срабатывает только на белый 000000 и чёрный FFFFFF. Создал новую иконку, перекрашивал её в стандартные красный FF0000 и синий 0000FF - не срабатывает. Такое впечатление, что отсутствует цветовой плагин (если он существует) Оставим дальнейшие попытки, видимо, нужны другие программы.
AlikasS,virjokk большое вам спасибо за помощь.

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 10:40 15-09-2023 | Исправлено: sundraw, 12:25 15-09-2023
virjokk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sundraw
Определяем координаты любого пикселя (например, этим) на какой-либо иконке в трее, я выбрал переключатель языка, координаты выдались такие: 1666 x 1048.
Ставим с нуля nnCron, запускаем консоль (ПКМ на иконке --> Tools --> Console), вводим последовательно:
Код:
WINAPI: GetPixel gdi32.dll
WINAPI: GetWindowDC user32.dll
WINAPI: ReleaseDC user32.dll
: GET-PIXEL  ( x y -- RGB ) SWAP GetDesktopWindow DUP >R GetWindowDC DUP >R GetPixel R> R> ReleaseDC DROP ;
 

Затем вводим определившиеся координаты (в моем случае 1666 и 1048):

Код:
1666 1048 GET-PIXEL .

Получаем результат:
Код:
16743168 Ok

Это код цвета Dodger Blue (ярко-синий). Переключаем язык, цвет иконки меняется, снова набираем в консоли
Код:
1666 1048 GET-PIXEL .

Видим результат:  
Код:
4535772 Ok

Это уже код цвета Amaranth (ярко-красный). Повторяем так несколько раз - цвет меняется, nnCron последовательно выдает правильные результаты.
Кстати, это один из способов отслеживания в nnCron события переключения раскладки клавиатуры.

Всего записей: 330 | Зарегистр. 19-05-2006 | Отправлено: 15:08 15-09-2023 | Исправлено: virjokk, 15:35 15-09-2023
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
virjokk
Код цвета получил: 6815712 , светло-зелёный. Другие цвета уже не нужны.  Куда его вставить в скрипт?

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 17:19 15-09-2023 | Исправлено: sundraw, 17:24 15-09-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Программы » nnCron


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru