Что нового

[Автоматизация] Постановления положение ПКМ как hotkey, mousemove в цикле

NuclearBeer

Новичок
Сообщения
32
Репутация
0
Код:
#RequireAdmin
#include <Misc.au3>
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)
Global $Action = 0
HotKeySet("{END}", "startAction") ;старт
HotKeySet("{DELETE}", "offAction") ;стоп

$long = @DesktopWidth
   $short = @DesktopHeight
   $x = $long/2
   $y = $short/2

While 1
If $Action = 1 then
PixelSearch($x, $y-3, $x+1, $y-15, 0xBE2828, 40) ;поиск пикселя
If Not @error then
   
   MouseClick("left")   ;клик
   ;$pos = MouseGetPos()
   ;MouseMove($pos[0],$pos[1]+10) ВОТ ЭТО

   EndIf
EndIf
WEnd
   
Func startAction() ;вкл
$Action = 1
EndFunc
Func offAction() ;выкл
$Action = 0
EndFunc


Доброго времени суток. Нужно помочь мне немного
Код:
HotKeySet("{MouseDown("right")}", "startAction") 
HotKeySet("{MouseUp("right")}", "offAction")

не могу сделать активацию при зажатой правой кнопке мишки, про команду WinAPI слышал, но тогда время цикла, не понятно почему, повысилось с примерно 0.3с до 1.5с...
Код:
$pos = MouseGetPos()
   MouseMove($pos[0],$pos[1]+10)

а так же вот это затарабанить плавно... это попытка погасить отдачу на винтовке (имеет 3-ной выстрел на 1 выстрел уходит около 0.5сек) , но выходит что за время выстрела действие проходит 100500 раз =с
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Re: [Автоматизация] Цикл + действие

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[Автоматизация] Цикл + действие" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.
 

Ksaan

Знающий
Сообщения
207
Репутация
15
Ну название темы все равно странное, может "активация при зажатой правой кнопке миши"?
Код:
#RequireAdmin
#include <MouseOnEvent.au3>

Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)

Global $Paused = True

$long = @DesktopWidth
$short = @DesktopHeight
$x = $long/2
$y = $short/2

HotKeySet("{Esc}", "_Exit") ;старт
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "Pause")
_MouseSetOnEvent($MOUSE_PRIMARYUP_EVENT, "Pause")

While 1
  If Not $Paused Then
    PixelSearch($x, $y-3, $x+1, $y-15, 0xBE2828, 40) ;поиск пикселя
	If Not @error then

	   MouseClick("left")   ;клик
	   ;$pos = MouseGetPos()
	   ;MouseMove($pos[0],$pos[1]+10) ВОТ ЭТО
	   Sleep(500)
	EndIf
  Else
    Sleep(10)
  EndIf
WEnd

Func Pause()
  $Paused = Not $Paused
EndFunc

Func _Exit()
	Exit
EndFunc
 
Автор
NuclearBeer

NuclearBeer

Новичок
Сообщения
32
Репутация
0
Ksaan сказал(а):
Ну название темы все равно странное, может "активация при зажатой правой кнопке миши"?
Код:
#RequireAdmin
#include <MouseOnEvent.au3>

Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)

Global $Paused = True

$long = @DesktopWidth
$short = @DesktopHeight
$x = $long/2
$y = $short/2

HotKeySet("{Esc}", "_Exit") ;старт
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "Pause")
_MouseSetOnEvent($MOUSE_PRIMARYUP_EVENT, "Pause")

While 1
  If Not $Paused Then
    PixelSearch($x, $y-3, $x+1, $y-15, 0xBE2828, 40) ;поиск пикселя
	If Not @error then

	   MouseClick("left")   ;клик
	   ;$pos = MouseGetPos()
	   ;MouseMove($pos[0],$pos[1]+10) ВОТ ЭТО
	   Sleep(500)
	EndIf
  Else
    Sleep(10)
  EndIf
WEnd

Func Pause()
  $Paused = Not $Paused
EndFunc

Func _Exit()
	Exit
EndFunc
Спасибо... Но я решил что все же время цикла важнее посколько только просто ввод этой библиотеки увеличивает время цикла в 3 раза.. Вы мне лучше подскажыте как мне толково вписать mousemove
 
Верх