Обсуждение программ nnCron и nnCron LITE
by Denni » Thu, 09 Jan 2014, 10:18
Добрый день. Удалось ли кому "подружить" их? В описании программы сказано "Работает под Windows 95/98/ME/NT/2000/XP". Разработчик как бы и не обещает совместимость, однако и прямых "противопоказаний" я так же не нахожу. Но мне запустить так и не удалось  На компьютере с Windows 7 (x64) инсталляция проходит нормально. Однако при попытке запуска - возникает и мгновенно исчезает черное окошко. И все - больше ничего не происходит. В трее программы нет. В процессах я вижу nncron.exe (а также "cron.exe", "tray.exe" и "nnguard.exe"). Пробовал запускать с "Совместимостью с Win XP SP2" и вставлял в "доверенные" в Фаерволе - результата нет (все тоже самое). Других антивирусных программ нет. Может у кого-нибудь есть мысли по этому поводу? Или с Win7 (x64) мне однозначно необходимо искать другие подобные "nnCron" программы, совместимые с моей ОС? С уважением...
-
Denni
-
- Posts: 7
- Joined: Thu, 09 Jan 2014, 10:03
by Denni » Thu, 09 Jan 2014, 22:43
Спасибо! Вот теперь получилось!
С уважением...
-
Denni
-
- Posts: 7
- Joined: Thu, 09 Jan 2014, 10:03
by VoidVolker » Fri, 10 Jan 2014, 07:10
Просто дело в том, что в семерке ннкрону в привычном всем режиме надо работать как приложение, а не как сервис. Это связано с усилением безопасности ОС — у сервисов нет доступа к пользовательской сессии. Поэтому, запуск ннкрона сервисом не позволяет добавить значок в трей или работать с окнами системы и т.п.
-

VoidVolker
- Site Admin
-
- Posts: 2928
- Joined: Tue, 25 Apr 2006, 17:56
by Denni » Fri, 10 Jan 2014, 11:58
Ясно. А скорость исполнения команд, указанных в крон-табах зависит от того, в качестве чего запущен nnCron (как приложение или как сервис)?
Не могу найти команду для послания текста в неактивное окно (без его активации). Команды "WIN-SEND-KEYS" и "SEND-KEYS" - не подходят, так как они сначала активируют окно а потом печатают туда текст. А мне требуется не меняя активное окно (оставаясь в нем) напечатать текст в фоновые окна (запущенные в оконном режиме, но не активные в данный момент). Не подскажете, с помощью какой команды это лучше выполнить? В "Хелпе" очень скудное описание возможных команд. Это ведь не все возможные команды, а лишь "ключевые"? Где можно найти полный перечень возможных команд для составления алгоритма действий в крон-табе? (извините за офтоп)
С уважением...
-
Denni
-
- Posts: 7
- Joined: Thu, 09 Jan 2014, 10:03
by ANR Daemon » Mon, 13 Jan 2014, 01:31
VoidVolker wrote:Просто дело в том, что в семерке ннкрону в привычном всем режиме надо работать как приложение, а не как сервис. Это связано с усилением безопасности ОС — у сервисом нет доступа к пользовательской сессии. Поэтому, запуск ннкрона сервисом не позволяет добавить значок в трей или работать с окнами системы и т.п.
Это легко решается клиентским приложением - индикатором. Denni wrote:Ясно. А скорость исполнения команд, указанных в крон-табах зависит от того, в качестве чего запущен nnCron (как приложение или как сервис)?
Никак. P.S. 0 VK_F12 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F12 WM_KEYUP HK_hWnd SendMessageA DROP HK_hWnd - хэндл нужного окна. Добавить в WinDefs.spf : \ WM_KEYUP default flags, as in Win32 SDK help file 0xC0000001 CONSTANT user_KeyUpFlags
-
ANR Daemon
-
- Posts: 234
- Joined: Mon, 26 Feb 2007, 22:59
by Denni » Mon, 13 Jan 2014, 17:56
Спасибо за ответы - буду разбираться.
С уважением...
-
Denni
-
- Posts: 7
- Joined: Thu, 09 Jan 2014, 10:03
by AlikasS » Tue, 14 Jan 2014, 03:52
-

AlikasS
-
- Posts: 1453
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
by Denni » Tue, 14 Jan 2014, 17:04
Ага, эту тему я уже видел, спасибо. Меня больше интересует посылка текста (и эмуляция нажатия клавиш клавиатуры) в неактивное окно, клики мышки не нужны - там вроде в конце есть пару Ваших примеров - буду пробовать. Я не программист, но мне очень интересно реализовать одну задачку. Нигде не могу найти толковое описание команд Forth (работающие в nnCron"е) для работы с окнами. В частности - команд эмуляции нажатия клавиш и отсылки текста в неактивные окна запущенных программ.
С уважением...
-
Denni
-
- Posts: 7
- Joined: Thu, 09 Jan 2014, 10:03
by ANR Daemon » Fri, 17 Jan 2014, 22:40
Denni wrote:Ага, эту тему я уже видел, спасибо. Меня больше интересует посылка текста (и эмуляция нажатия клавиш клавиатуры) в неактивное окно, клики мышки не нужны - там вроде в конце есть пару Ваших примеров - буду пробовать. Я не программист, но мне очень интересно реализовать одну задачку. Нигде не могу найти толковое описание команд Forth (работающие в nnCron"е) для работы с окнами. В частности - команд эмуляции нажатия клавиш и отсылки текста в неактивные окна запущенных программ.
С уважением...
Нельзя найти то, чего нет. Если вы хотите что-то сделать с системой, единственный реально работающий вариант - разобраться, как система работает. В данном случае, вашим курсом будет чтение популярного хелп-файла Win32 Developer's References (WIN32SDK.HLP) Впрочем, могу привести полный, готовый к употреблению инклюд для дуалбоксинга L2.
-
ANR Daemon
-
- Posts: 234
- Joined: Mon, 26 Feb 2007, 22:59
by Denni » Mon, 20 Jan 2014, 10:33
ANR Daemon wrote:Впрочем, могу привести полный, готовый к употреблению инклюд для дуалбоксинга L2
Буду признателен, если предоставите. С уважением...
-
Denni
-
- Posts: 7
- Joined: Thu, 09 Jan 2014, 10:03
by ANR Daemon » Wed, 22 Jan 2014, 03:51
Win+S - привязка окна приложения. Win+T - тестирование привязки. Кнопки передаются в привязанное окно через модификатор Win. Т.е. Win+F1 передаётся как F1, Win+Alt+1 - как Alt+1, Win+Alt+NumPad1 - как Alt+NumPad1. TrackWindow - следит за пропадением окна. По совместительству выставляет начальные значения переменных. SaveWindow - self-explanatory. Test - same. - Code: Select all
#CRONTAB FILE (виндовая кодировка!) # 2-box setup
#( CLASSIC-TASK-#-HK_TrackWindow Time: */5 * * * * * : HK_WinTitle S" Lineage II" ; 0 VALUE HK_hWnd 0 VALUE DE_INTR Action: HK_hWnd IF HK_hWnd N>S WIN-EXIST? 0= IF S" HK_TrackWindow: hWnd reset (was %HK_hWnd%) - dead app" CRON-LOG 0 TO HK_hWnd ELSE HK_WinTitle WIN-TITLE COMPARE IF S" HK_TrackWindow: hWnd reset (was %HK_hWnd%) - bad app" CRON-LOG 0 TO HK_hWnd THEN THEN THEN )#
#( CLASSIC-TASK-#-HK_SaveWindow AsLoggedUser WatchHotKey: "$S" Action: HK_WinTitle WIN-ACTIVE? IF GetForegroundWindow TO HK_hWnd S" HK_SaveWindow: hWnd saved as %HK_hWnd%" CRON-LOG S" Saved as %HK_hWnd%" EVAL-SUBST 1 TimeMsgBox ELSE S" HK_SaveWindow: hWnd not saved" CRON-LOG THEN )#
#( CLASSIC-TASK-#-HK_Test AsLoggedUser WatchHotKey: "$T" Action: S" TASK: HK_Test" CRON-LOG HK_hWnd IF HK_hWnd N>S WIN-EXIST? IF HK_WinTitle WIN-TITLE COMPARE 0= IF S" Saved as %HK_hWnd%" EVAL-SUBST 3 TimeMsgBox ELSE S" HK_Test: hWnd reset (was %HK_hWnd%) - bad app" CRON-LOG 0 TO HK_hWnd THEN ELSE 0 TO HK_hWnd THEN THEN HK_hWnd 0= IF S" hWnd not set" 3 TimeMsgBox THEN )#
#( CLASSIC-TASK-#-HK_F1 NoLog AsLoggedUser WatchHotKey: "${F1}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F1 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F1 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F2 NoLog AsLoggedUser WatchHotKey: "${F2}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F2 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F2 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F3 NoLog AsLoggedUser WatchHotKey: "${F3}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F3 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F3 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F4 NoLog AsLoggedUser WatchHotKey: "${F4}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F4 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F4 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F5 NoLog AsLoggedUser WatchHotKey: "${F5}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F5 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F5 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F6 NoLog AsLoggedUser WatchHotKey: "${F6}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F6 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F6 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F7 NoLog AsLoggedUser WatchHotKey: "${F7}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F7 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F7 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F8 NoLog AsLoggedUser WatchHotKey: "${F8}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F8 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F8 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F9 NoLog AsLoggedUser WatchHotKey: "${F9}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F9 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F9 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F10 NoLog AsLoggedUser WatchHotKey: "${F10}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F10 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F10 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F11 NoLog AsLoggedUser WatchHotKey: "${F11}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F11 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F11 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_F12 NoLog AsLoggedUser WatchHotKey: "${F12}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_F12 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_F12 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_Alt1 NoLog AsLoggedUser WatchHotKey: "$@{0x31}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0x31 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0x31 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_Alt2 NoLog AsLoggedUser WatchHotKey: "$@{0x32}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0x32 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0x32 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_Alt3 NoLog AsLoggedUser WatchHotKey: "$@{0x33}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0x33 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0x33 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_Alt4 NoLog AsLoggedUser WatchHotKey: "$@{0x34}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0x34 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0x34 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_Alt5 NoLog AsLoggedUser WatchHotKey: "$@{0x35}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0x35 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0x35 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_Alt6 NoLog AsLoggedUser WatchHotKey: "$@{0x36}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0x36 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0x36 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_Alt7 NoLog AsLoggedUser WatchHotKey: "$@{0x37}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0x37 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0x37 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_Alt8 NoLog AsLoggedUser WatchHotKey: "$@{0x38}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0x38 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0x38 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_Alt9 NoLog AsLoggedUser WatchHotKey: "$@{0x39}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0x39 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0x39 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_Alt0 NoLog AsLoggedUser WatchHotKey: "$@{0x30}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0x30 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0x30 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltDash NoLog AsLoggedUser WatchHotKey: "$@{0xBD}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0xBD WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0xBD WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltEq NoLog AsLoggedUser WatchHotKey: "$@{0xBB}" Action: HK_hWnd N>S WIN-EXIST? IF 0 0xBB WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags 0xBB WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltNum1 NoLog AsLoggedUser WatchHotKey: "$@{NUMPAD1}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_NUMPAD1 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_NUMPAD1 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltNum2 NoLog AsLoggedUser WatchHotKey: "$@{NUMPAD2}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_NUMPAD2 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_NUMPAD2 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltNum3 NoLog AsLoggedUser WatchHotKey: "$@{NUMPAD3}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_NUMPAD3 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_NUMPAD3 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltNum4 NoLog AsLoggedUser WatchHotKey: "$@{NUMPAD4}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_NUMPAD4 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_NUMPAD4 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltNum5 NoLog AsLoggedUser WatchHotKey: "$@{NUMPAD5}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_NUMPAD5 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_NUMPAD5 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltNum6 NoLog AsLoggedUser WatchHotKey: "$@{NUMPAD6}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_NUMPAD6 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_NUMPAD6 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltNum7 NoLog AsLoggedUser WatchHotKey: "$@{NUMPAD7}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_NUMPAD7 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_NUMPAD7 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltNum8 NoLog AsLoggedUser WatchHotKey: "$@{NUMPAD8}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_NUMPAD8 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_NUMPAD8 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltNum9 NoLog AsLoggedUser WatchHotKey: "$@{NUMPAD9}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_NUMPAD9 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_NUMPAD9 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltNum0 NoLog AsLoggedUser WatchHotKey: "$@{NUMPAD0}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_NUMPAD0 WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_NUMPAD0 WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltDivide NoLog AsLoggedUser WatchHotKey: "$@{0x6F}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_DIVIDE WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_DIVIDE WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
#( CLASSIC-TASK-#-HK_AltMultiply NoLog AsLoggedUser WatchHotKey: "$@{0x6A}" Action: HK_hWnd N>S WIN-EXIST? IF 0 VK_MULTIPLY WM_KEYDOWN HK_hWnd SendMessageA DROP user_KeyUpFlags VK_MULTIPLY WM_KEYUP HK_hWnd SendMessageA DROP THEN )#
-
ANR Daemon
-
- Posts: 234
- Joined: Mon, 26 Feb 2007, 22:59
by Denni » Fri, 24 Jan 2014, 10:33
Спасибо, большое! Пока запустить не удалось, выскакивают ошибки. Буду разбираться.
С уважением...
-
Denni
-
- Posts: 7
- Joined: Thu, 09 Jan 2014, 10:03
by ANR Daemon » Tue, 28 Jan 2014, 00:37
Какие ошибки, конкретно? Вы либо не дописали константу, либо не подключили плагины вообще.
-
ANR Daemon
-
- Posts: 234
- Joined: Mon, 26 Feb 2007, 22:59
by tmpnikl » Thu, 16 Oct 2014, 08:11
Создал тему, но она ушла на проверку, так и не вернулась... тоже Win7 64 max крон nncron193b13.exe, создал батник echo test pause из системного трея запускается и работает, а когда ставишь событие выключение комп. нет, поэтому и думаю может опять сессия завершилась, а крон ещё не запустил задачу... т.е. политики виндуса или ограничения крона?, ине надо знать развивать это дальше направление или прекратить мучить крон..
-
tmpnikl
-
- Posts: 13
- Joined: Wed, 15 Oct 2014, 05:50
Return to nnCron forum (Russian)
Who is online
Users browsing this forum: No registered users and 2 guests
|
|