Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot _ Не работает double_left

Автор: Ivan030 7.10.2017, 12:00

Использую программу uopilot довольно недавно, очень нужна функция double_left (double_kleft - не подходит так как кликер нужен на удаленном доступе)
В чём же проблема (оно кликает два раза НО, второй клик зажимает) что делать?

Автор: DarkMaster 7.10.2017, 13:23

Попробуйте увеличить паузу между кликами во вкладке Еще. Так же можно сделать просто два одиночных клика подряд. Вообще тут все очень сильно зависит от приложения. Самый бронебойный вариант полностью поэтапно прописать клики и задержки:

Код
left_down x y
wait 50
left_up x y
wait 10
left_down x y
wait 50
left_up x y

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

Автор: Ivan030 7.10.2017, 13:37

Цитата(DarkMaster @ 7.10.2017, 13:23) *

Попробуйте увеличить паузу между кликами во вкладке Еще. Так же можно сделать просто два одиночных клика подряд. Вообще тут все очень сильно зависит от приложения. Самый бронебойный вариант полностью поэтапно прописать клики и задержки:
Код
left_down x y
wait 50
left_up x y
wait 10
left_down x y
wait 50
left_up x y

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

Так же поставил 10 мс 2 left клика, все равно задержка на left, kleft работает нормально (но он мне не нужен)

Цитата(DarkMaster @ 7.10.2017, 13:23) *

Попробуйте увеличить паузу между кликами во вкладке Еще. Так же можно сделать просто два одиночных клика подряд. Вообще тут все очень сильно зависит от приложения. Самый бронебойный вариант полностью поэтапно прописать клики и задержки:
Код
left_down x y
wait 50
left_up x y
wait 10
left_down x y
wait 50
left_up x y

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

Может вы мне через team viewer поможете?
vk - http://vk.com/id90322

Автор: DarkMaster 7.10.2017, 15:32

Цитата
Так же поставил 10 мс 2 left клика, все равно задержка на left, kleft работает нормально (но он мне не нужен)

Какая задержка? Где? Чего? Вы написали, что у вас не отжимается мышь, теперь уже какая-то задержка.
Цитата
Может вы мне через team viewer поможете?

Только в виде платной консультации. Форум - пожалуйста нахаляву smile.gif

Автор: Ivan030 8.10.2017, 15:32

Цитата(DarkMaster @ 7.10.2017, 15:32) *

Какая задержка? Где? Чего? Вы написали, что у вас не отжимается мышь, теперь уже какая-то задержка.

Только в виде платной консультации. Форум - пожалуйста нахаляву smile.gif

Верно, кнопка не отжимается, задержку как вы попросили установил.

Автор: DarkMaster 8.10.2017, 16:08

а после единичного нажатия отжимается? Попробуйте несколько раз отжимать, увеличьте задержки, добавьте задержку после отжатия.

Автор: Ivan030 9.10.2017, 13:37

Цитата(DarkMaster @ 8.10.2017, 16:08) *

а после единичного нажатия отжимается? Попробуйте несколько раз отжимать, увеличьте задержки, добавьте задержку после отжатия.

Я вообще думал почему не работает, после того как я поводил мышкой, увидел что второй клик оно зажимает, doublw_kleft работает отлично (но он не подходит)
А как я могу поставить задержку на double_left? Она там и так огромная.

Цитата(DarkMaster @ 8.10.2017, 16:08) *

а после единичного нажатия отжимается? Попробуйте несколько раз отжимать, увеличьте задержки, добавьте задержку после отжатия.

После единичного нажатия отжимается, верно.
ID окна привязан к Internet Explorer, проверьте как оно будет работать у вас.
Именно там где указана ссылка на сайт. (в этом месте не работает double_left

Автор: cirus 9.10.2017, 13:51

Попробуйте в других браузерах. Почему именно IE нужен?

Автор: Ivan030 9.10.2017, 20:26

Цитата(cirus @ 9.10.2017, 13:51) *

Попробуйте в других браузерах. Почему именно IE нужен?

GetSelectedText - в других браузерах копирует название браузера (а нужно определенный текст именно который должен double_left отделять от ненужного.)
В общем, много ошибок которые нужно решить.
ps.что можно сделать с наличностью?

Автор: Ivan030 9.10.2017, 21:38

Забыл сказать что использую функции
send {Enter}
send {}
Может в них проблемы? Но хочу ещё сказать что в других браузерах всё работает наоборот
GetSelectedText - не работает double_left - работает.

Автор: cirus 10.10.2017, 2:28

Цитата
что можно сделать с наличностью?

Ничего.
Цитата
Но хочу ещё сказать что в других браузерах всё работает наоборот
GetSelectedText - не работает double_left - работает.

Что вообще нужно сделать?



Автор: Ivan030 10.10.2017, 12:01

Цитата(cirus @ 10.10.2017, 2:28) *

Ничего.

Что вообще нужно сделать?

Скопировать текст из поисковой строки браузера getseletedText работает только в IE
Но в IE не работает double_left

Автор: cirus 10.10.2017, 12:13

В гугле так работает:

Код
double_left 410, 67   // выделить
left 410, 67          // текст
sendex ^     // зажать Ctrl
send217 C    // нажать C
sendex       // отпустить все модификаторы, Ctrl в данном случае
end_script


Автор: DarkMaster 10.10.2017, 12:37

Цитата
sendex ^ // зажать Ctrl
send217 C // нажать C
sendex // отпустить все модификаторы, Ctrl в данном случае

В неактивном окне. Этот кусок можно заменить на гет селектед текст.

Автор: Ivan030 10.10.2017, 17:54

Цитата(cirus @ 10.10.2017, 12:13) *

В гугле так работает:
Код
double_left 410, 67   // выделить
left 410, 67          // текст
sendex ^     // зажать Ctrl
send217 C    // нажать C
sendex       // отпустить все модификаторы, Ctrl в данном случае
end_script


Вы наверное думаете что я глупый)
На дедику SHIFT+C не работает так как нет буфера обмена.

Цитата(DarkMaster @ 10.10.2017, 12:37) *

В неактивном окне. Этот кусок можно заменить на гет селектед текст.

Я его и использую НО. Замись текста он копирует что? Правильно - название окна. - потому использую IE
Ещё появилась одна ошибка:
Ошибка! Проверьте правильность скрипта! EAccessViolation Access violation at address 005737AE in module 'uopilot.exe'. Read of address 00000000
Данная ошибка выдается если установить таймер 3500000 мс, так как ниже мне тоже не нужно. (после единичного повторения)
Код:
set $a22 GetSelectedText
set workwindow 66562
double_kleft 207, 7
send $a22

Автор: DarkMaster 10.10.2017, 21:17

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

Автор: Ivan030 10.10.2017, 22:39

wait 1000
set $a "http://oauth.vk.com/authorize?client_id=4000091&scope=offline&redirect_uri=https://oauth.vk.com/blank.html&response_type=token&v=5.2"
set workwindow 721118
left 126, 7
send $a

send {Enter}
send {}
left 422, 349 abs
left 131, 7
double_left 93, 6

set $a22 GetSelectedText
set workwindow 66562
double_kleft 207, 7
send $a22

set workwindow 132218
left 58, 11
wait 3500000

Автор: Ivan030 10.10.2017, 22:56

Цитата(DarkMaster @ 10.10.2017, 21:17) *

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

Мне нужно что бы оно выделило текст путем двух кликов. А оно замись того что бы 2 сделать делает 1 и зажим.

Автор: cirus 11.10.2017, 2:32

Цитата
В неактивном окне. Этот кусок можно заменить на гет селектед текст.
Я его и использую НО. Замись текста он копирует что? Правильно - название окна. - потому использую IE

Название окна содержит нужную ссылку?

Автор: Ivan030 11.10.2017, 11:03

Цитата(cirus @ 11.10.2017, 2:32) *

Название окна содержит нужную ссылку?

Содержит нужный текст, но он выделяется через GetSelectedText только в IE, в Google, Opera... копирует название браузера например "Opera" (а не выделенный текст) в IE копирует верно но - double_left не отжимает (т.е не выделяет нужную мне зону) в Google, Opera... - double_left работает как должно.

Автор: cirus 11.10.2017, 11:18

Цитата
Название окна содержит нужную ссылку?
Содержит нужный текст

Тогда можно найти окно с названием и получить из него ссылку через regexp.
Код
set %handle findwindow (Explorer)
log Найдено окон с таким названием: size(%handle)
if size(%handle) > 0    // если окно найдено
    for #i 1 size(%handle)
        log %handle [#i 2]     // показать в логе имя окна или окон, если их несколько
    end_for
end_if
end_script




Автор: Ivan030 11.10.2017, 11:53

Цитата(cirus @ 11.10.2017, 11:18) *

Тогда можно найти окно с названием и получить из него ссылку через regexp.
Код
set %handle findwindow (Explorer)
log Найдено окон с таким названием: size(%handle)
if size(%handle) > 0    // если окно найдено
    for #i 1 size(%handle)
        log %handle [#i 2]     // показать в логе имя окна или окон, если их несколько
    end_for
end_if
end_script


Мне нужно что бы оно ещё автоматически разделяло, тому нужен double_left) не всё так просто)

Автор: cirus 11.10.2017, 12:14

Цитата
Мне нужно что бы оно ещё автоматически разделяло, тому нужен double_left) не всё так просто)

Всё очень просто, если перестанете думать что вам нужен double_left.
Вырезать ссылку из строки:
Код
set $str "http:\\yandex.ru - Internet Explorer"        // допустим это имя окна
set $regexp ".*(?=\s*\-\s*Internet)"    // ищем всё что находится перед  " - Internet"
set #n regexp (#pos $hitstring $str $regexp)
if #n > 0
    log $hitstring
end_if
end_script

Автор: Ivan030 11.10.2017, 19:24

Цитата(cirus @ 11.10.2017, 12:14) *

Всё очень просто, если перестанете думать что вам нужен double_left.
Вырезать ссылку из строки:
Код
set $str "http:\\yandex.ru - Internet Explorer"        // допустим это имя окна
set $regexp ".*(?=\s*\-\s*Internet)"    // ищем всё что находится перед  " - Internet"
set #n regexp (#pos $hitstring $str $regexp)
if #n > 0
    log $hitstring
end_if
end_script


В названии браузера не нужного кода)

Автор: Ivan030 13.10.2017, 0:14

UP

Автор: DarkMaster 13.10.2017, 6:59

а может проще зажать мышь и провести, а не дабл клик делать?
типа left_down в одной точке, а left_up в другой.

Автор: Ivan030 13.10.2017, 15:02

Цитата(DarkMaster @ 13.10.2017, 6:59) *

а может проще зажать мышь и провести, а не дабл клик делать?
типа left_down в одной точке, а left_up в другой.

Позиция кода постоянно меняется в ширине (но находится в точке выделения)

Автор: DarkMaster 13.10.2017, 15:25

Тяжелая артиллерия? Распознать строку?
https://forum.uokit.com/index.php?showtopic=30000

Автор: Ivan030 13.10.2017, 18:45

Цитата(DarkMaster @ 13.10.2017, 15:25) *

Тяжелая артиллерия? Распознать строку?
https://forum.uokit.com/index.php?showtopic=30000

Вывести текст из строки?
Много багов в приложении и я решу что бы решить их а не аналогом заменять)

Автор: DarkMaster 13.10.2017, 19:07

Цитата
Вывести текст из строки?

Чего?
Цитата
Много багов в приложении

Каких багов? В каком приложении? В IE что ли? Разные эмуляции, разные приложения различно их воспринимают, а зачастую специально игнорируют

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)