Alessandro2981
Новичок
- Сообщения
- 5
- Репутация
- 0
Здравствуйте, написал функцию, которая по заданным кординатам делает - Двойное нажатие мышки - для выбора слова из любой программы, например блокнот, и копирует в Clipboard выделеное значение. Это делается For лупом, для ожидания появления этого слова
После чего проверяет соответствует ли это значение слову, если да, то делает Exit Loop, если нет, то
Если в течении времени loopa он не находит значение, то должен выкидывать(но он почему-то этого не делает, не могу найти причину):
Вот сам код:
Использование функции:
1. Значение которое должно быть найдено
2,3. Координата X и Y для двойного нажатия
4. Время в секундах для поиска, по окончании этого времени должен выдовать ошибку, если значение "Umowa" не найдено.
После чего проверяет соответствует ли это значение слову, если да, то делает Exit Loop, если нет, то
Код:
Sleep(100)
$i = $i + 1
Если в течении времени loopa он не находит значение, то должен выкидывать(но он почему-то этого не делает, не могу найти причину):
Код:
MsgBox(4096, 'Error', 'Connection error, or dont find:' & $Cname)
Exit
Вот сам код:
Использование функции:
Код:
CheckName("Umowa", 124, 168, 2)
1. Значение которое должно быть найдено
2,3. Координата X и Y для двойного нажатия
4. Время в секундах для поиска, по окончании этого времени должен выдовать ошибку, если значение "Umowa" не найдено.
Код:
Func CheckName($Cname, $Xcheck, $Ycheck, $SecCheck)
$Secc = $SecCheck * 5
For $i = 1 to $Secc
MouseClick("left",53, 40, 2, 0)
Sleep(50)
MouseClick("left", $Xcheck, $Ycheck, 2, 2) ;Click to Umowa status
Sleep(50)
Send("{CTRLDOWN}c{CTRLUP}") ; Copy it to clipboard
$sData = ClipGet() ;Set clipboard as variable
If $sData <> $Cname Then
Select
Case $i < $Secc
Sleep(100)
$i = $i + 1
Case Else
MsgBox(4096, 'Error', 'Connection error, or dont find:' & $Cname)
Exit
EndSelect
Else
ExitLoop
EndIf
Next
MouseClick("left",53, 40, 2, 0)
EndFunc