1

Тема: AHK: Подсчет пути, проделанного курсом мыши.

Доброе утро, форумчане.
Есть вопрос.

Можно ли скриптом записать общую длину пути курсора мыши по экрану ?
Допустим - если нажать F1 - то начинается подсчет пути курсора, а при нажатии F2 - этот подсчет заканчивается и длина пути записывается в файл txt.
Или это нельзя сделать в autohotkey.

2

Re: AHK: Подсчет пути, проделанного курсом мыши.

Ragnar Lodbrokovitch, а вы расстояние между двумя точками с координатами умеете вычислять?

3 (изменено: Alectric, 2020-08-14 19:47:57)

Re: AHK: Подсчет пути, проделанного курсом мыши.

Ragnar Lodbrokovitch пишет:

Можно ли скриптом записать общую длину пути курсора мыши по экрану ?

Можно. MouseGetPos

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

4

Re: AHK: Подсчет пути, проделанного курсом мыши.

stealzy, там не две точки - а вообще весь путь проделанный курсором.

5

Re: AHK: Подсчет пути, проделанного курсом мыши.

Ragnar Lodbrokovitch, вы не ответили на мой вопрос. Умеете или нет?

6

Re: AHK: Подсчет пути, проделанного курсом мыши.

stealzy, расстояние между двумя точками - вычисляется как гипотенуза.

7

Re: AHK: Подсчет пути, проделанного курсом мыши.

Ну вот, вычислить расстояние между двумя координатами вы можете, как взять координаты выше подсказали.
Осталось только соединить все точки пути между собой, не так ли?

8 (изменено: Ragnar Lodbrokovitch, 2020-08-15 11:08:23)

Re: AHK: Подсчет пути, проделанного курсом мыши.

Не понимаю.
Про какие именно точки идет речь ?

Я спрашивал - можно ли измерить - какой путь прошел курсор, когда им какое-то время подвигали по экрану.

9

Re: AHK: Подсчет пути, проделанного курсом мыши.

Ragnar Lodbrokovitch, а зачем Вам знать путь, проделанный курсором мыши?

10

Re: AHK: Подсчет пути, проделанного курсом мыши.

Координаты на экране, какие еще точки это могут быть?
То что путь состоит из отрезков, тоже не понятно?

11 (изменено: Ragnar Lodbrokovitch, 2020-08-15 11:24:56)

Re: AHK: Подсчет пути, проделанного курсом мыши.

ypppu, чтобы общий пробег определить.
Вот кстати похожая программа:

Post's attachments

Oiynsoft_Mouse_Meter.rar 523.74 kb, 5 downloads since 2020-08-15 

You don't have the permssions to download the attachments of this post.

12

Re: AHK: Подсчет пути, проделанного курсом мыши.

stealzy мышка ходит например - по кругу или восьмеркой.
Ну какие тут отрезки ?

13

Re: AHK: Подсчет пути, проделанного курсом мыши.

Ragnar Lodbrokovitch, это я и так понимаю. А цель-то какая преследуется?

14 (изменено: Alectric, 2020-08-15 13:16:21)

Re: AHK: Подсчет пути, проделанного курсом мыши.


#NoEnv
#SingleInstance,Force
SetBatchLines,-1
CoordMode,Mouse,Screen

mousegetpos,oldx,oldy

loop
{
  sleep,10
  mousegetpos,x,y
  var+=Sqrt(abs(x-oldx)**2+abs(y-oldy)**2)
  oldx:=x
  oldy:=y
  tooltip,% var
}
Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

15

Re: AHK: Подсчет пути, проделанного курсом мыши.

Alectric, а как подключить на подсчет пути - клавиши -  F1 для запуска, и F2 для записи результата в txt

16

Re: AHK: Подсчет пути, проделанного курсом мыши.

Alectric, недоделали работу!

17 (изменено: Alectric, 2020-08-15 21:28:06)

Re: AHK: Подсчет пути, проделанного курсом мыши.

stealzy пишет:

Alectric, недоделали работу!

Если честно, надоели ваши подколки и язвление. Прекратите язвить, пожалуйста.

Ragnar Lodbrokovitch пишет:

как подключить на подсчет пути - клавиши

Изучай. Пробуй. Если не получится - показывай свой код, подскажем.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

18

Re: AHK: Подсчет пути, проделанного курсом мыши.

Alectric, уверены что я язвлю?
Просто отмечаю что вы дали без объяснения готовый код, который неполностью удовлетворяет заказу ТС.
Что интереснее, теперь вы сами ответили ему в духе "изучай, пробуй, показывай код".

19

Re: AHK: Подсчет пути, проделанного курсом мыши.

Alectric
Вот у меня получился такой код.


#NoEnv
#SingleInstance,Force
SetBatchLines,-1
CoordMode,Mouse,Screen



F1::
off := 1
Loop
{
mousegetpos,oldx,oldy
If off = 0

loop
{
  sleep,10
  mousegetpos,x,y
  var+=Sqrt(abs(x-oldx)**2+abs(y-oldy)**2)
  oldx:=x
  oldy:=y
  tooltip,% var
}


}
return

F2::
off := 0
Return

Правда включается он не по клавише F1, а почему-то по клавише F2.
И выключить с записью результата в txt - не получается.

Подскажите - как это сделать ?

20

Re: AHK: Подсчет пути, проделанного курсом мыши.

Второй цикл здесь лишний. И чтобы завершить цикл нужно выполнить команду break.


#NoEnv
#SingleInstance,Force
SetBatchLines,-1
CoordMode,Mouse,Screen



F1::
off := 1
mousegetpos,oldx,oldy
Loop
{
  If off = 1
  {
    sleep,10
    mousegetpos,x,y
    var+=Sqrt(abs(x-oldx)**2+abs(y-oldy)**2)
    oldx:=x
    oldy:=y
    tooltip,% var
  }
  else
    break
}
return

F2::
off := 0
msgbox,Замени меня на FileAppend. Мышка проехала %var% пикселей.
Return

Ragnar Lodbrokovitch пишет:

не по клавише F1

Потому-что в условии так написано "If off = 0" - "если переменная "off" равна нулю".

Ragnar Lodbrokovitch пишет:

записью результата в txt

Нужно выполнить FileAppend в момент выключения.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

21

Re: AHK: Подсчет пути, проделанного курсом мыши.

Получился скрипт:


#NoEnv
#SingleInstance,Force
SetBatchLines,-1
CoordMode,Mouse,Screen

F1::
off := 1
mousegetpos,oldx,oldy
Loop
{
  If off = 1
  {
    sleep,10
    mousegetpos,x,y
    var+=Sqrt(abs(x-oldx)**2+abs(y-oldy)**2)
    oldx:=x
    oldy:=y
    tooltip,% var
  }
  else
    break

}
return

F2::
off := 0

;msgbox,Замени меня на FileAppend. Мышка проехала %var% пикселей.
FileAppend, %var%, %A_ScriptDir%\пробег мыши.txt
Return

Он в целом работает, но выводит результаты при периодическом использовании :
4472.7224186636.588887
То есть в одну кучу их кидает в txt.
Как поменять этот код, чтобы итоговый результат - перезаписывал бы старый результат, а после нажатия F2 и записи в файл - скрипт закрывался бы ?

22

Re: AHK: Подсчет пути, проделанного курсом мыши.

FileDelete

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

23

Re: AHK: Подсчет пути, проделанного курсом мыши.

Alectric, а выйти как из этой программы ?
Почему Exit здесь не срабатывает ?



#NoEnv
#SingleInstance,Force
SetBatchLines,-1
CoordMode,Mouse,Screen



F1::
off := 1
mousegetpos,oldx,oldy
Loop
{
  If off = 1
  {
    sleep,10
    mousegetpos,x,y
    var+=Sqrt(abs(x-oldx)**2+abs(y-oldy)**2)
    oldx:=x
    oldy:=y
    ;tooltip,% var
  }
  else
    break

}
return

F2::
off := 0


;msgbox,Замени меня на FileAppend. Мышка проехала %var% пикселей.
FileDelete %A_Scriptdir%\пробег мыши.txt
FileAppend, %var%, %A_ScriptDir%\пробег мыши.txt
Exit

;Return

24 (изменено: Alectric, 2020-08-18 17:15:47)

Re: AHK: Подсчет пути, проделанного курсом мыши.

Exit

Справка пишет:

Выход из текущего потока или (если скрипт не резидентный, т.е. не содержит директиву #Persistent, и не содержит горячих клавиш) из скрипта в целом.

Этот Exit работает как Return. Условно говоря.
Тебе нужен ExitApp.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

25

Re: AHK: Подсчет пути, проделанного курсом мыши.

Alectric, спасибо.