Эмуляция CTRL+клик мышью

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

Эмуляция CTRL+клик мышью

Postby dimapplk » Mon, 28 Nov 2011, 00:09

Здравствуйте. Подскажите как реализовать эмуляцию CTRL+клик левой кнопкой мыши. (Очень хочется в the bat повесить это дело на клик средней кнопкой мыши.)
dimapplk
 
Posts: 29
Joined: Tue, 24 Jul 2007, 17:52

Re: Эмуляция CTRL+клик мышью

Postby VoidVolker » Mon, 28 Nov 2011, 16:54

Подключить плагины keystate.spfи SendInput.spf. Далее добавить в кронтаб задачу:
Code: Select all
#( Задача_175328112011
SingleInstance
Action:
BEGIN
  VK_MBUTTON KEY-PRESSED? S" *The Bat*" WIN-ACTIVE? AND
  IF
    BEGIN VK_MBUTTON KEY-PRESSED? WHILE 50 PAUSE REPEAT
    Ctrl( LCLICK )Ctrl
  THEN
AGAIN
)#

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

Re: Эмуляция CTRL+клик мышью

Postby dimapplk » Mon, 28 Nov 2011, 23:26

Спасибо, но, к сожалению, не работает :(
Срабатывает как обычный клик - без CTRL.
Решил иначе. CTRL( LCLICK )CTRL должен был открывать ссылку не переключаясь на браузер. Пока просто добавил в конце WIN-ACTIVATE: "The bat". Конечно мигает окнами, но пока это лучше чем ничего.
dimapplk
 
Posts: 29
Joined: Tue, 24 Jul 2007, 17:52

Re: Эмуляция CTRL+клик мышью

Postby VoidVolker » Tue, 29 Nov 2011, 16:57

dimapplk wrote:Спасибо, но, к сожалению, не работает

Значит, что-то сделано неправильно. Вполне возможно заголовок окна указан неправильно.
dimapplk wrote:Решил иначе. CTRL( LCLICK )CTRL должен был открывать ссылку не переключаясь на браузер.

Ни в кроне, ни в плагине SendInput.spf нет таких слов. Так что оно и не будет работать.
dimapplk wrote:Пока просто добавил в конце WIN-ACTIVATE: "The bat". Конечно мигает окнами, но пока это лучше чем ничего.

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

Re: Эмуляция CTRL+клик мышью

Postby dimapplk » Tue, 29 Nov 2011, 17:26

VoidVolker wrote:Значит, что-то сделано неправильно. Вполне возможно заголовок окна указан неправильно.

Вполне возможно. Заголовок точно указан верно. Без этой задачи по MiddleClick в the bat ничего не происходит. С этой задачей - эмулируется клик левой кнопкой мыши. Хотя хотелось левой кнопкой мыши + ctrl.
VoidVolker wrote:Ни в кроне, ни в плагине SendInput.spf нет таких слов. Так что оно и не будет работать.

ну имелось ввиду Ctrl( LCLICK )Ctrl, просто набирал руками, а не копипастом - ошибся малость. В задаче все написано правильно.
VoidVolker wrote:Нет смысла активировать уже активное окно, тем более после основной работы.

Есть смысл, после клика по ссылке средней кнопкой - эмулируется клик левой кнопкой и активируется окно браузера, задача возвращает фокус обратно бату. Как то так получилось:
Code: Select all
#( CLASSIC-TASK-##-work_with_mouse
SingleInstance
VARIABLE allowMB1
Action:
BEGIN
VK_MBUTTON KEY-PRESSED?
IF
   allowMB1 @  WIN-ACTIVE: "The Bat!" AND
   IF
        \ Ctrl(
        LCLICK
        \ )Ctrl
        BEGIN WIN-ACTIVE: "The Bat!" WHILE 50 PAUSE REPEAT
        WIN-ACTIVATE: "The Bat!"
        allowMB1 OFF
   THEN
ELSE 
  allowMB1 ON
THEN
PAUSE: 100
AGAIN
)#


Ctrl( и )Ctrl закоментировал потому как все равно не работают.
dimapplk
 
Posts: 29
Joined: Tue, 24 Jul 2007, 17:52

Re: Эмуляция CTRL+клик мышью

Postby VoidVolker » Tue, 29 Nov 2011, 18:06

dimapplk wrote:Ctrl( и )Ctrl закоментировал потому как все равно не работают.

Все прекрасно работает. Возможно, это винда или Бат тупят.
Можно еще вот так:
Code: Select all
LeftCtrl( LCLICK )LeftCtrl

Code: Select all
RightCtrl( LCLICK )RightCtrl

Code: Select all
VK_CONTROL AKEYDN  LCLICK  VK_CONTROL AKEYUP

А еще, вполне возможно в бате криво сделано чтение хоткеев, и она может не успевать среагировать:
Code: Select all
LeftCtrl(  50 PAUSE LCLICK 50 PAUSE  )LeftCtrl

Code: Select all
RightCtrl(  50 PAUSE LCLICK 50 PAUSE  )RightCtrl

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

Re: Эмуляция CTRL+клик мышью

Postby dimapplk » Tue, 29 Nov 2011, 18:19

VoidVolker wrote:Возможно, это винда или Бат тупят.

Возможно. Все предложенные варианты все рано открывают ссылку и активируют окно браузера. Увеличение пауз вплоть до 1000 ничего не меняет. Может Windows 7 64 виноват, может the bat, может Chrome. Не ясно....
В любом случае спасибо. Плагин SendInput.spf добавил себе. Проверкой через другие задачи вижу что CTRL зажимается. Почему в the bat не получается - даже представить не могу.
dimapplk
 
Posts: 29
Joined: Tue, 24 Jul 2007, 17:52

Re: Эмуляция CTRL+клик мышью

Postby VoidVolker » Tue, 29 Nov 2011, 18:42

Еще можно попробовать стандартный кроновский метод(там используется другой АПИ):
Code: Select all
VK_CONTROL specKeyDN LCLICK VK_CONTROL specKeyUP
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests

cron