BlockTheInput не работает

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

BlockTheInput не работает

Postby victoryus » Thu, 03 Jul 2014, 22:05

Доброе время суток уважаемые, помогите пожалуйста понять почему не срабатывает BlockTheInput в данной задаче (nncron.exe v 1.93b10 Build 1141 03.12.2009 (upd AlikasS 30.07.2012 mod.2.7) Windows 7 x64):

Code: Select all
#( CloseQuestTracking
SingleInstance
WINAPI: GetPixel gdi32.dll
WINAPI: BlockInput USER32.DLL
: BlockTheInput TRUE BlockInput DROP ;
: UnblockTheInput FALSE BlockInput DROP ;
: GET-PIXEL  ( x y -- RGB )
SWAP GetDesktopWindow DUP >R GetWindowDC DUP >R GetPixel R> R> ReleaseDC DROP ;
VARIABLE first_pos
Action:
BEGIN
ShowNormal   NormalPriority
WIN-EXIST: "ShockwaveFlashFullScreen"
IF
100 PAUSE
1260 260 GET-PIXEL
0x406DB5 =
IF
100 PAUSE
BlockTheInput
100 PAUSE
MOUSE-POS first_pos ! \  Запомнить положение курсор мыши.
MOUSE-MOVE:  1485 257 \  Close.
PAUSE: 100
MOUSE-LBCLK
first_pos @ MOUSE-MOVE \  Вернуть курсор мышь в прошлое положение.
UnblockTheInput
THEN
THEN
1000 5 * PAUSE \ 5 - интервал между выполнением задачи (код выполняется каждые 5 секунд)
AGAIN
)#
victoryus
 
Posts: 30
Joined: Tue, 26 Mar 2013, 11:08
Location: Республика Молдова

Re: BlockTheInput не работает

Postby VoidVolker » Fri, 04 Jul 2014, 07:53

Потому что условие не выполняется.
Вот эти фразы лишние:
Code: Select all
VARIABLE first_pos
...
first_pos ! \  Запомнить положение курсор мыши.
...
first_pos @ \  Вернуть курсор мышь в прошлое положение.

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

Re: BlockTheInput не работает

Postby victoryus » Fri, 04 Jul 2014, 10:53

VoidVolker wrote:Т.е. в данной задаче это бесполезный код.


1.Но мне же положение курсора мыши нужно вернуть где "росло". Подскажите пожалуйста как это сделать ? :oops:

2.И все равно не работает так как надо , не блокирует движение мышки :( , добавил еще PAUSE: 5000 и ничего ...
Code: Select all
#( CloseQuestTracking
SingleInstance
WINAPI: GetPixel gdi32.dll
WINAPI: BlockInput USER32.DLL
: BlockTheInput TRUE BlockInput DROP ;
: UnblockTheInput FALSE BlockInput DROP ;
: GET-PIXEL  ( x y -- RGB )
SWAP GetDesktopWindow DUP >R GetWindowDC DUP >R GetPixel R> R> ReleaseDC DROP ;
\ VARIABLE first_pos
Action:
BEGIN
ShowNormal   NormalPriority
WIN-EXIST: "ShockwaveFlashFullScreen"
IF
100 PAUSE
1260 260 GET-PIXEL
0x406DB5 =
IF
BlockTheInput
PAUSE: 5000
\ MOUSE-POS first_pos ! \  Запомнить положение курсор мыши.
MOUSE-MOVE:  1485 257 \  Close.
PAUSE: 100
MOUSE-LBCLK
\ first_pos @ MOUSE-MOVE \  Вернуть курсор мышь в прошлое положение.
UnblockTheInput
THEN
THEN
1000 5 * PAUSE \ 5 - интервал между выполнением задачи (код выполняется каждые 5 секунд)
AGAIN
)#

victoryus
 
Posts: 30
Joined: Tue, 26 Mar 2013, 11:08
Location: Республика Молдова

Re: BlockTheInput не работает

Postby Morituruz » Fri, 04 Jul 2014, 13:57

Если просто в консоли крона набрать BlockTheInput 5000 PAUSE UnblockTheInput, эффект есть?
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: BlockTheInput не работает

Postby victoryus » Fri, 04 Jul 2014, 15:10

Morituruz wrote:Если просто в консоли крона набрать BlockTheInput 5000 PAUSE UnblockTheInput, эффект есть?


вернул Ок но не блокировал мышь и ввод :(
victoryus
 
Posts: 30
Joined: Tue, 26 Mar 2013, 11:08
Location: Республика Молдова

Re: BlockTheInput не работает

Postby Morituruz » Fri, 04 Jul 2014, 15:21

Возможно стоит попробовать отключить антивирус, или запустить nncron от администратора.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: BlockTheInput не работает

Postby VoidVolker » Fri, 04 Jul 2014, 20:12

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

Re: BlockTheInput не работает

Postby victoryus » Sat, 05 Jul 2014, 00:43

Morituruz wrote:Возможно стоит попробовать отключить антивирус, или запустить nncron от администратора.

VoidVolker wrote:Тогда да, ннкрон надо запускать от администратора.


Проблема решилась после переустановки nncron на версию 193b13. VoidVolker подскажите пожалуйста а консоль в этой версии урезанна или это у меня опять что то криво легло на 7х64 ? При установке добавил и "как системная служба" так как без нее после установки не появляется иконка в трее. И еще вот что заметил пропадает совсем nncron без причины, есть ли стабильные версии на Windows 7 x64 ?
victoryus
 
Posts: 30
Joined: Tue, 26 Mar 2013, 11:08
Location: Республика Молдова

Re: BlockTheInput не работает

Postby VoidVolker » Sat, 05 Jul 2014, 06:56

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

Re: BlockTheInput не работает

Postby victoryus » Sat, 05 Jul 2014, 13:56

VoidVolker wrote:Для семерки и восьмерки ннкрон надо ставить и запускать как приложение


Если ставить nncron только как приложение в 7х64 не появляется меню в трее (Start nnCron из меню пуск не работает). При установки nncron выставлял галки на все компоненты и как приложение и как сервис , только после такой установки появляется иконка в трее.

А на счет консоли что может быть, почему не работает ? :(
В этой версии nncron.exe v 1.93b10 Build 1141 03.12.2009 (upd AlikasS 30.07.2012 mod.2.7) консоль работала, она у меня стояла до проблемы с BlockTheInput .
В 1.93b13 BlockTheInput корректно отрабатывает но уже консоль не работает :roll: (запускаю и меню Инструменты --> Console)
victoryus
 
Posts: 30
Joined: Tue, 26 Mar 2013, 11:08
Location: Республика Молдова

Re: BlockTheInput не работает

Postby AlikasS » Mon, 07 Jul 2014, 08:59

victoryus wrote:В 1.93b13 BlockTheInput корректно отрабатывает но уже консоль не работает :roll: (запускаю и меню Инструменты --> Console)

есть два файла nncron.ini
один расположен как правило в C:\Program Files\ это для сервиса
второй в C:\Documents and Settings\username..\Application Data\nnCron\ этот для приложения
надо открыть любой (например пользовательский через меню трея -пареметры-nncron.ini) и поставить другое значения в пункте
Code: Select all
RemConsolePort: 2002
например
Code: Select all
2003

и перезапустить крон
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: BlockTheInput не работает

Postby victoryus » Mon, 07 Jul 2014, 13:06

AlikasS wrote:есть два файла nncron.ini
один расположен как правило в C:\Program Files\ это для сервиса
второй в C:\Documents and Settings\username..\Application Data\nnCron\ этот для приложения
надо открыть любой (например пользовательский через меню трея -пареметры-nncron.ini) и поставить другое значения в пункте
Code: Select all
RemConsolePort: 2002
например
Code: Select all
2003

и перезапустить крон


УРРРААА заработало, спасибо всем !!! :D (счастье привалило)
victoryus
 
Posts: 30
Joined: Tue, 26 Mar 2013, 11:08
Location: Республика Молдова


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Google [Bot] and 6 guests