1 (изменено: ypppu, 2016-09-06 09:43:47)

Тема: AHK: Курсор и PixelSearch

Добрый день, что я делаю не так, суть:
Мне нужно, чтобы после запуска *один.exe*, через пол секунды запускался *два.exe*, а далее в окне *три* курсор мышки переводился в определенную область, после чего делалась проверка по цвету и если цвет совпадает, то нажимается ЛКМ.
Первые 2 части работают исправно, проблемы начинаются с мышкой, курсор не перемещается, с ним ничего не происходит. Что не так, подскажите.

Ins::
run один.exe, hide
	sleep 500
run два.exe
   WinWait, *три*, Chrome Legacy Window
   IfWinNotActive, *три*, Chrome Legacy Window, WinActivate, *три*, Chrome Legacy Window
   WinWaitActive, *три*, Chrome Legacy Window
Loop
{
   MouseGetPos, 1212, 794
   PixelSearch,,, X-50, Y-50, X+50, Y+50, 0xD43117,, Fast RGB
   If !ErrorLevel
   Sleep, 100
	Click
}
return

Я пробовал вставлять координаты активного окна ( 757, 600 ), но аналогично ничего не происходит.

2

Re: AHK: Курсор и PixelSearch

Что не так, подскажите

Вы не прочитали правила.

3

Re: AHK: Курсор и PixelSearch

fuzalexot, всегда указывайте префикс скриптового языка в заголовке.

Команда PixelSearch не предназначена для перемещения курсора. Используйте MouseMove.

4

Re: AHK: Курсор и PixelSearch

Ins::
run %WINDIR%\2.exe, hide
		sleep 500
run %USERPROFILE%\1.exe
	WinActivate, *FrameName*
		sleep, 5000
{
	PixelSearch,,, 725, 575, 775, 625, 0xD43117, 0, Fast RGB
	If !ErrorLevel
		sleep, 500
	MouseMove, 750, 600
	MouseClick
		sleep, 100
}

У меня получилось только так, но, как я понимаю, получилось только из-за того, что я заставил мышку переместится в указанную область и через задержку активироваться. А я же хотел все это автоматизировать именно по средству поиска цвета, если 0xEEEEEE - ждем, если 0xd43117 - нажимаем. Или это я хочу невозможного? Я AHK использую 2-ую неделю только. Простите если что.

5 (изменено: stealzy, 2016-09-06 13:04:39)

Re: AHK: Курсор и PixelSearch

if (Условие) ; если услове верно (пиксель найден),
{
	; то делаем то, что между скобок
	; (нажимаем)
} else {
	; ждем x секунд. Тут надо подумать чего мы ждем, и что будем делать после.
}

А те скобки, что у вас в коде, смысла не имеют.

6

Re: AHK: Курсор и PixelSearch

У меня получилось только так, но, как я понимаю, получилось только из-за того, что я заставил мышку переместится в указанную область и через задержку активироваться. А я же хотел все это автоматизировать именно по средству поиска цвета, если 0xEEEEEE - ждем, если 0xd43117 - нажимаем. Или это я хочу невозможного? Я AHK использую 2-ую неделю только. Простите если что.

Вы объясняете непонятно. Расскажите подробно алгоритм и объясните, что именно не получается реализовать.

7

Re: AHK: Курсор и PixelSearch

Мне нужно, чтоб запустилась первая программа, далее, с интервалом, вторая, после чего, во втором окне программы произошла проверка цвета, если же цвет совпадает соответствующему, производится нажатие Лкм, если же цвет не найден/отсутствует, повторяется проверка.

8 (изменено: stealzy, 2016-09-08 09:31:07)

Re: AHK: Курсор и PixelSearch


Ins::
;....
Loop ; зацикливаем
{
	PixelSearch,,, 725, 575, 775, 625, 0xD43117, 0, Fast RGB
	if (!ErrorLevel) ; если услове верно (пиксель найден),
	{
		; нажимаем
		Break ; выходим из цикла
	} else {
		; ждем секунду, перед следующим поиском.
	}
}

Return ; лучше четко обозначать конец кода по метке/горячей клавише 

9

Re: AHK: Курсор и PixelSearch

stealzy, спасибо большое.