1 (изменено: BiGBooT, 2015-01-23 13:06:10)

Тема: АНК:Включение, пауза двойного клика мышки

Добрый вечер. Есть скрипт на двойной клик мыши. При попытке написать паузу толку 0. А именно как будто клавиша залипает. Приходится вырубать скрипт через диспетчер задач

Lbutton::                  ; при нажатии левой кнопки мыши
settimer, timer, 80    ; запустить таймер каждые 80мс
return

timer:   ; таймер
If !GetKeyState("Lbutton", "P")   ; если ЛКМ отпущена
{
    settimer, timer, off   ; выключить таймер
    Return
}
send {click 2}  ; если ЛКМ нажата делаем двойной клик
Return
F8:: pause
F12:: exitapp

2

Re: АНК:Включение, пауза двойного клика мышки

А где пауза?

3

Re: АНК:Включение, пауза двойного клика мышки

Исправил. Да и кстати скрипт странно ведет себя. Тут получается не двойной клик, а 1 но с задержкой в строке

settimer, timer, 80    ; запустить таймер каждые 80мс

4

Re: АНК:Включение, пауза двойного клика мышки

Вот это?


F::8 pause

Тут у вас клавиша F переназначена на 8.

5

Re: АНК:Включение, пауза двойного клика мышки

Поправил, опячатка

6

Re: АНК:Включение, пауза двойного клика мышки

Не знаю, ничего не залипает вроде, и клик двойной. Вы какого действия ждёте от паузы?

7

Re: АНК:Включение, пауза двойного клика мышки

Если под залипанием клавиши имеете в виду бездействие левой кнопки мыши, то так и должно быть, она задействована как горячая клавиша. Гор. клавиши отключаются не через Pause, а через Suspend.

8

Re: АНК:Включение, пауза двойного клика мышки

Вроде так, но всёравно не так. В разных приложениях работает по разному. Может это тоже зависит. Есть ли вариант сделать глобальными кнопки паузы и выхода с приложений? В данном случае приходится выходить на рабочий стол, чтобы сработали хоткеи

Полностью код

#SingleInstance force
#InstallKeybdHook
#InstallMouseHook
#NoEnv
SendMode InputThenPlay

Lbutton::                  ; при нажатии левой кнопки мыши
settimer, timer, 250    ; запустить таймер каждые 80мс
return

timer:   ; таймер
If !GetKeyState("Lbutton", "P")   ; если ЛКМ отпущена
{
    settimer, timer, off   ; выключить таймер
    Return
}
send {click 2}  ; если ЛКМ нажата делаем двойной клик
Return
F8::Suspend
F10::exitapp

9

Re: АНК:Включение, пауза двойного клика мышки

Есть ли вариант сделать глобальными кнопки паузы и выхода с приложений?

В смысле? Что за кнопки выхода с приложений?

10

Re: АНК:Включение, пауза двойного клика мышки

Извиняюсь за кривизну мыслей, попробую объяснить. Допустим я нахожусь в приложении/игре, то пауза, а темболее выход из скрипта невозможен. Также скрипт прерывается если, допустим зажать и удерживать клавишу Ctrl. Сам макрос поставить на паузу, а тем более выключить нельзя находясь в приложениях или играх

11

Re: АНК:Включение, пауза двойного клика мышки

Значит, скрипт не видит нажатий. Игра как-то перехватывает, вероятно. Но я не спец по играм. Знаю, что с ними мороки много по сравнению с обычными приложениями.

12

Re: АНК:Включение, пауза двойного клика мышки

BiGBooT пишет:
send {click 2}  ; если ЛКМ нажата делаем двойной клик

Что значит "если"? Судя по коду, здесь нет условия. Команда будет просто выполняться. И в чём смысл Return в пределах фигурных скобок?

13

Re: АНК:Включение, пауза двойного клика мышки

Поскольку программы писал лет 10 назад из под палки, то сам сейчас сообразить не смогу. Скрипт взял отсюда http://forum.script-coding.com/viewtopic.php?id=5275

14

Re: АНК:Включение, пауза двойного клика мышки

Попробуй так:

~*Lbutton::
While !p && GetKeyState("Lbutton", "P") {
   send {click 2}
   Sleep 80
}
return

F8:: p := !p
F12:: ExitApp
BiGBooT пишет:

<...> Допустим я нахожусь в приложении/игре, то пауза, а темболее выход из скрипта невозможен.<...>

Запусти скрипт от имени администратора, обычно помогает.

15

Re: АНК:Включение, пауза двойного клика мышки

YMP пишет:

Значит, скрипт не видит нажатий. Игра как-то перехватывает, вероятно. Но я не спец по играм. Знаю, что с ними мороки много по сравнению с обычными приложениями.

Вы полностью правы. Где то работает скрипт, где то не совсем так как нужно. Но в обоих случаях хоткей(пауза и выход) не работают при активных окнах приложений. Спасибо за попытки

16

Re: АНК:Включение, пауза двойного клика мышки

А зачем пауза, ведь если отпустить кнопку мыши, то и скрипт и завершит свою работу.
Например так:

~LButton::
KeyWait LButton, T0.3
If ErrorLevel
{
   While GetKeyState("LButton","p")
   {
      send {click 2}
      sleep, 80
   }
}
return