Тема: AHK: Acc_ObjectFromPoint без наведения мыши в скрытом окне.
Здравствуйте, есть окно с текстом который доступен только при использовании , возможно ли получить к нему доступ без реального наведения мыши в скрытом окне?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте, есть окно с текстом который доступен только при использовании , возможно ли получить к нему доступ без реального наведения мыши в скрытом окне?
Нужно достать текст 01:56.
Cкрины AHK Spy:
Acc_ObjectFromPoint(ByRef _idChild_ = "", x = "", y = "")
{
Acc_Init()
If DllCall("oleacc\AccessibleObjectFromPoint", "Int64", x==""||y==""?0*DllCall("GetCursorPos","Int64*",pt)+pt:x&0xFFFFFFFF|y<<32, "Ptr*", pacc, "Ptr", VarSetCapacity(varChild,8+2*A_PtrSize,0)*0+&varChild)=0
Return ComObjEnwrap(9,pacc,1), _idChild_:=NumGet(varChild,8,"UInt")
}
Может если не сворачивать окно а просто затащить за экран, можно будет как-то вытащить текст? Только как задать вручную координаты Х,У? Вроде так Acc := Acc_ObjectFromPoint(child, 55, 56)
Но код:
Acc := Acc_ObjectFromPoint(child, -12, 65)
Не работает.
Мне достаточно понять как подставлять координаты нужного элемента в Acc_ObjectFromPoint. Не цифрами, а через переменную меняющую значение.
Например
Acc_ObjectFromPoint(ByRef _idChild_ = "", x = "var1", y = "var2")
Устроит и для активного окна.
Kurskador, вам не отвечают по причине несуразности ситуации, когда человек собирается работать с IAccessible интерфейсом, но при этом не знаком даже с простым синтаксисом вызова функции. Между тем, для ответа на ваши вопросы достаточно открыть хэлп (даже переводной) на странице "Функции".
С хелпом по функциям я как бы знаком. Уж точно лучше, чем с устройством смартфона, которым пользуюсь каждый день.
Функциями тоже пользуюсь каждый день.
Но я вот так делаю:
var1 := 10
var2 := 20
MsgBox, % Summa(var1,var2)
Return
Summa(aaa,bbb)
{
sm := aaa * bbb
Return, sm
}
Я как бы понимал, что в самой функции можно аргументы подставить в виде любых asdfghj, но как-то не думал, что туда можно впереть ещё и знаки присвоения, и кавычки. Тем более там ещё какой-то ByRef с чилдом с подчёркиваниями и др. Поэтому не воспринимал Acc_ObjectFromPoint(ByRef _idChild_ = "", x = "", y = "") как обычную функцию. Ведь совершенно не ясно где что, и что откуда берётся.
Но спасибо за подсказку, она хоть и выставляет меня дебилом, но помогла. Если понять, что это просто обычная функция, то найти нужный вариант можно. Теперь я понимаю, что такая форма написания призвана объяснить что куда нужно писать, но именно она меня и сбила.
но как-то не думал, что туда можно впереть ещё и знаки присвоения, и кавычки. Тем более там ещё какой-то ByRef
С хелпом по функциям я как бы знаком
Чувствуется, что знакомы не до конца.
Почитал ещё раз. Мутная штука вообще, а с ByRef, так особенно. Я формировал специальные составные переменные, если мне нужно было вывести больше одной переменной.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться