Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] PixelSearch - нажатие в найденной точке

Ответить
Настройки темы
[решено] PixelSearch - нажатие в найденной точке

Новый участник


Сообщения: 24
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: Creat0R
Дата: 06-04-2010
Описание: название не по уставу
Всем добрыи день. я как-то немного запутолся в своём скрипте. хотя я неочень понимаю в pixelsearch.
Суть скрипта такова. в задонном прямоугольнике должен скрипт наити точку задонного цвета. после всего переити мышкои на эту точку и нажать левои кнопкои. я незнаю, возможно я неправильно понял перевод ,left,top,right,bottom как зафиксировать прямоугольник.

Вот что получилось:


WinWaitActive("www.---.de - Windows Internet Explorer")
sleep(3000)

$Pos = PixelSearch( 329, 340, 380, 423, 0x689CFE,)
if IsArray($Pos) Then
MouseMove($Pos[0],$Pos[1],0)

MouseClick("left")
EndIf



Заранее благодарю
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:38, 05-04-2010

 

Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


Antoschka2, и что происходит в процессе выполнения скрипта?
я немного укоротил скрипт до такого
Код: Выделить весь код
WinWaitActive("www.---.de - Windows Internet Explorer")
sleep(3000)

$Pos = PixelSearch(329, 340, 380, 423, 0x689CFE)
if IsArray($Pos) Then MouseClick("left", $Pos[0], $Pos[1])

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Отправлено: 16:50, 05-04-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 24
Благодарности: 1

Профиль | Отправить PM | Цитировать


Скрипт без ошибок начинает работать но ничего так сказать не делает и потом просто выключаетса. сеичас попробую твою версию

совершенно ничего не происходит. у меня кстате виндовс 7 может из за этого? Либо я и в правду не понял как определят координаты для pixelsearch

Отправлено: 16:53, 05-04-2010 | #3


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Antoschka2,
Предупреждение за нарушение правил форума, пункт 2.7:

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

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 19:14, 05-04-2010 | #4


Пользователь


Сообщения: 143
Благодарности: 24

Профиль | Отправить PM | Цитировать


Цитата Antoschka2:
Скрипт без ошибок начинает работать но ничего так сказать не делает и потом просто выключаетса. сеичас попробую твою версию
совершенно ничего не происходит »
Таки да, он у вас 1 раз поищет заданный цвет, в указанной области и все. Найдет если, то кликнет, если нет закончит работу.
А вам не подойдут функции работы с IE ?

Отправлено: 19:32, 05-04-2010 | #5


Новый участник


Сообщения: 24
Благодарности: 1

Профиль | Отправить PM | Цитировать


Вот именно при тесте ненаходит этот цвет хотя он там есть. я и другои цвет подставлял, всёравно нехочет. может кто подскажет как правильно работает этот прямоугольник. может я туда нетакие координаты вставил

Отправлено: 00:20, 06-04-2010 | #6


Пользователь


Сообщения: 143
Благодарности: 24

Профиль | Отправить PM | Цитировать


Цитата Antoschka2:
может я туда нетакие координаты вставил »
Код: Выделить весь код
#include <GUIConstants.au3>
#include <WindowsConstants.au3>

WinWaitActive("www.---.de - Windows Internet Explorer")
sleep(3000)

_Area(329, 340, 380, 423)

MsgBox(0,"","Чтобы увидеть искомую область")
sleep(1000)
$Pos = PixelSearch(329, 340, 380, 423, 0x689CFE)
if IsArray($Pos) Then MouseClick("left", $Pos[0], $Pos[1])

Func _Area($iLeft, $iTop, $iRght, $iBottom, $iTrans=100)
    Local $hWin = GUICreate('Win', $iTop, $iBottom, $iLeft, $iBottom, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_EX_TRANSPARENT))

    WinSetTrans($hWin, '',      $iTrans)
    GUISetBkColor(0x0000e,     $hWin)
    GUISetState(@SW_SHOW,       $hWin)
EndFunc
Тут вам обрисуется область в которой вы ищите нужный пиксель.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:43, 06-04-2010 | #7


Новый участник


Сообщения: 24
Благодарности: 1

Профиль | Отправить PM | Цитировать


огромное спасибо! я нете координаты задал!!!!

Отправлено: 23:16, 06-04-2010 | #8


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Antoschka2, В названии темы не нужно писать «Треубуется помощь», и тем более «AutoIt», оно и так понятно

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 23:45, 06-04-2010 | #9


Новый участник


Сообщения: 27
Благодарности: 11

Профиль | Отправить PM | Цитировать


Цитата HORRIBLE:
Тут вам обрисуется область в которой вы ищите нужный пиксель. »
Меня терзают смутные сомнения.
мне кажется функция _Area, чтоб правильно показывать нужную область, в данном случае должна выглядеть так:

Код: Выделить весь код
Func _Area($iLeft, $iTop, $iRght, $iBottom, $iTrans=100)
	Local $tmp
	If $iRght<$iLeft Then
		$tmp = $iRght
		$iRght = $iLeft
		$iLeft = $tmp
	EndIf
	If $iTop>$iBottom Then
		$tmp = $iTop
		$iTop = $iBottom
		$iBottom = $tmp
	EndIf
	Local $hWin = GUICreate('Win', $iRght-$iLeft, $iBottom-$iTop, $iLeft, $iTop, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_EX_TRANSPARENT))
	WinSetTrans($hWin, '',      $iTrans)
    GUISetBkColor(0x0000e,     $hWin)
    GUISetState(@SW_SHOW,       $hWin)
EndFunc
Поправьте, если не прав.
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:00, 07-04-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] PixelSearch - нажатие в найденной точке

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Помогите найти ошибку в скрипте Anarasius AutoIt 4 03-01-2010 21:38
[решено] Шифрование пароля в скрипте. virgy Автоматическая установка Windows 2000/XP/2003 2 22-09-2009 18:05
[решено] Рекурсия в компилированном скрипте Cuba AutoIt 15 21-04-2009 22:09
MySQL - Исполнение sql запроса в скрипте Negativ Программирование и базы данных 1 09-08-2007 14:59
Ошибка в скрипте поиска shurovik О сайте и форуме 2 02-09-2004 13:05




 
Переход