1 (изменено: OmTatSat, 2021-03-11 10:51:31)

Тема: AHK: ускорить определение размера указателя мышки

Здравствуйте, есть такой код

; exif view
#IfWinActive, 4pda.ru
MButton::
VarSetCapacity(CurrentCursorStruct, A_PtrSize + 16)

NumPut(A_PtrSize+16, CurrentCursorStruct, "uInt") ;for some reason cbSize is set to 0 after each call
  DllCall("GetCursorInfo", "ptr", &CurrentCursorStruct)
 
  hCursor := NumGet(CurrentCursorStruct, 8, "ptr")
 
  ;Tooltip, hCursor: %hCursor%
  if (hCursor < 0) or (hCursor > 100000)
{
send, {RButton} 
Sleep, 100
send, v
return
}
else
send, {MButton}
return

Проблема в том, что на зажатие mbutton и свайп вниз стоит действие, с этим кодом этот жест срабатывает не всегда, как понимаю из-за задержки при выполнении кода.
По сути, когда навожу на изображение - указатель мыши становится прозрачным и меняет размер, именно нахождение мыши над изображением и определяет код.

Существуют ли варианты сделать то же самое с уменьшенными задержками?

2

Re: AHK: ускорить определение размера указателя мышки

Используете 'SetBatchLines -1'  - возможно ускорит.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: ускорить определение размера указателя мышки

__Михаил__ спасибо, вроде побыстрее стало!
Правда коренным образом ситуацию не исправило, так как проблема крылась не столько в скорости а сколько в ошибке алгоритма.
Ошибку нашел и исправил, теперь всё хорошо работает.

Вот так, жест срабатывает хорошо.

{
send, {RButton} 
Sleep, 100
send, v
return
}
else
send, {MButton down}
KeyWait, MButton, u
send, {MButton up}
return