Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Dreight on March 30, 2018, 06:39:30 PM
-
Всем привет, хочу сделать: кликнуть ПКМ на "Australian", кликнуть ЛКМ на "копировать ссылку", взять ссылку из внешнего ini-файла, сравнить эти две ссылки и если они одинаковые, то написать что они одинаковые. Всё это нужно сделать в привязанном окне.
Для этого написал вот такой код:
RCLICK(237,418)
WAIT(3)
LCLICK(317,572)
WAIT(1)
$newlink=FROMCLIP()
$oldlink=iniread("ininame.ini", "stroka0")
if($newlink=$oldlink)
print("одинаковые ссылки")
end_if
WAIT(1)
halt
Но с таким кодом у меня КМ от случая к случаю виснет. Как я понимаю, клика по кнопке "копировать ссылку" не происходит из-за того что основное окно браузера, к которому привязывается КМ, и окно, которое всплывает при нажатии ПКМ, это два разных окна (hwnd у них разные). И, соответственно, если у меня в буфере лежит какая-то нечитаемая гадость, то она вешает КМ.
Собственно вопрос, как делать клик во внутреннем окне?
И да, вот ещё какую интересную штуку заметил. При подобном коде:
RCLICK(237,418)
WAIT(3)
LCLICK(317,572)
WAIT(1)
$newlink=FROMCLIP()
$oldlink=iniread("ininame.ini", "stroka0")
if($a=$b)
print("одинаковые ссылки")
end_if
WAIT(1)
halt
50% на 50% происходит зажатие ЛКМ в районе кнопки "копировать ссылку" и отпускается только в том месте, где у меня находится курсор (на скрине он у меня находится в красном кружке) и происходит подобное выделение текста. Собственно, я не совсем понимаю почему так происходит, объясните пожалуйста.
-
да, клики в контекстное меню при привязке чего то не проходят :-\. причем hwnd этого меню в фаерфоксе отличен от остального. но даже привязка к менюшке ничего не меняет.
а почему именно клик? KEYPRESS(#down) отлично делает свое дело, и не зависимо от того, куда менюшка вылезет. кстати перепривязка к контекстному меню и обратно в этом случае не требуется, отрабатывает в обеих случаях.
-
Спасибо большое, буду копировать ссылку с помощью down и enter :)
-
вот, еще немного поковырял. попробовал альтернативную привязку http://crapware.aidf.org/forum/index.php?topic=2111.0
клик срабатывает. описание в скрипте.
данный скрипт сработает только при привязке. если привязка выключена, то в место $_hwnd нужно будет писать нужный hwnd другими способами
$A_press_delay=50 //продолжительность клика
//A_LCLICK подпрограмма по отправлению окну системного сообщения. в данном случае это клик ЛКМ
SUB(A_LCLICK, $A_x, $A_y, $A_hwnd)
postmessage($A_hwnd,0x0201,0x0001,$A_x+($A_y*65536))
waitms($A_press_delay)
postmessage($A_hwnd,0x0202,0x0001,$A_x+($A_y*65536))
END_SUB
wait(1)
RCLICK(789,366) //ПКМ, вызов меню
WAIT(3)
A_LCLICK(906,528,$_hwnd) //клик по контекстному меню (копировать ссылку). $_hwnd - текущий hwnd привязки.
WAIT(1)
print(FROMCLIP()) //смотрим, что же там в буфере
halt