Что нового

[Мышь, клавиатура] Правильное ЗАЖАТИЕ ЛКМ

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Версия AutoIt: 3.3.14.0.

Описание:
Здравствуйте уважаемые форумчане!!!
Нужно при появление определенного цвета в заданных координатах зажать ЛКМ и отпустить только когда цвет пропадет.Именно зажать а не кликнуть.
Код:
#include <Misc.au3>
Local $hDLL = DllOpen("user32.dll")
Opt('MustDeclareVars', 1)
Opt("PixelCoordMode", 1)
Opt("MouseCoordMode", 1)
Opt("MouseClickDownDelay", 70)
Global $Hueta
While 1
	If _IsPressed("02", $hDLL) Then
		ah()
EndIf
	WEnd
DllClose($hDLL)
Func ah()
$Hueta = PixelSearch(160, 210,160, 90,0xff2626,0,1)
    If IsArray($Hueta) = True Then
		MouseClick('left')
	sleep(300)
		EndIf
	EndFunc

Примечания:Помогите у кого есть время.С новым годом!!!
 

Tempo

Скриптер
Сообщения
597
Репутация
190
Код:
HotKeySet("{ESC}", "_Exit")
Global $iPixelX = 100, $iPixelY = 125, $iPixelColor = Number(0xF0F4F9), $iMouseX = 300, $iMouseY = 300

While Sleep(10)
	If PixelGetColor($iPixelX, $iPixelY) = $iPixelColor Then
		MouseMove($iMouseX, $iMouseY, 0)
		MouseDown("left")
		While PixelGetColor($iPixelX, $iPixelY) = $iPixelColor
			Sleep(10)
		WEnd
		MouseUp("left")
	EndIf
WEnd

Func _Exit()
	Exit
EndFunc   ;==>_Exit
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Tempo сказал(а):
Код:
HotKeySet("{ESC}", "_Exit")
Global $iPixelX = 100, $iPixelY = 125, $iPixelColor = Number(0xF0F4F9), $iMouseX = 300, $iMouseY = 300

While Sleep(10)
	If PixelGetColor($iPixelX, $iPixelY) = $iPixelColor Then
		MouseMove($iMouseX, $iMouseY, 0)
		MouseDown("left")
		While PixelGetColor($iPixelX, $iPixelY) = $iPixelColor
			Sleep(10)
		WEnd
		MouseUp("left")
	EndIf
WEnd

Func _Exit()
	Exit
EndFunc   ;==>_Exit
Не робит.
 

Tempo

Скриптер
Сообщения
597
Репутация
190
Viktor19870628, ну вы хоть свои значения подставили?


Добавлено:
Сообщение автоматически объединено:

В вашем коде который вы добавили через пол часа используется PixelSearch и вы не уточнили что пиксель нужно искать в определенной области
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Tempo сказал(а):
Viktor19870628, ну вы хоть свои значения подставили?


Добавлено:
Сообщение автоматически объединено:

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



Ну теперь то уточнил.


Добавлено:
Сообщение автоматически объединено:

Tempo сказал(а):
Viktor19870628, ну вы хоть свои значения подставили?


Добавлено:
Сообщение автоматически объединено:

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



поставил значения естественно свои.
В моем коде при появлении цвета происходит клик.мне бы хотелось что бы при появлении цвета происходило зажатие ЛКМ и отжатие происходило только после изчезновения цвета в зоне поиска.


Добавлено:
Сообщение автоматически объединено:

Viktor19870628 сказал(а):
Версия AutoIt: 3.3.14.0.

Описание:
Здравствуйте уважаемые форумчане!!!
Нужно при появление определенного цвета в заданных координатах зажать ЛКМ и отпустить только когда цвет пропадет.Именно зажать а не кликнуть.
Код:
#include <Misc.au3>
Local $hDLL = DllOpen("user32.dll")
Opt('MustDeclareVars', 1)
Opt("PixelCoordMode", 1)
Opt("MouseCoordMode", 1)
Opt("MouseClickDownDelay", 70)
Global $Hueta
While 1
	If _IsPressed("02", $hDLL) Then
		ah()
EndIf
	WEnd
DllClose($hDLL)
Func ah()
$Hueta = PixelSearch(160, 210,160, 90,0xff2626,0,1)
    If IsArray($Hueta) = True Then
		MouseClick('left')
	sleep(300)
		EndIf
	EndFunc

Примечания:Помогите у кого есть время.С новым годом!!!
Разобрался


Добавлено:
Сообщение автоматически объединено:

Код:
#include <Misc.au3>
Local $hDLL = DllOpen("user32.dll")
Opt('MustDeclareVars', 1)
Opt("PixelCoordMode", 1)
Opt("MouseCoordMode", 1)
Opt("MouseClickDownDelay", 300)
Global $Hueta
Global $Mueta
While 1
	If _IsPressed("02", $hDLL) Then
		ah()
EndIf
	WEnd
DllClose($hDLL)
Func ah()
$Hueta = PixelSearch(160, 210,160, 90,0xff2626,0,1)
    If IsArray($Hueta) = True Then
		 MouseDown("left")
sleep(10)
		$Mueta = PixelSearch(160, 210,160, 90,0xff2626,0,1)
    If IsArray($Mueta) = False Then
		MouseUp("left")
	sleep(10)
	EndIf
	EndIf
	EndFunc
 
Верх