Page 4 of 9

Re: Нет всплывающего перевода при наведении мышкой

PostPosted: Mon Jul 04, 2011 8:03 pm
by Tvangeste
Вот что выдает Chrome 12:

Code: Select all
[4908] GD: Element location: left=485, top=139, width=1265, height=970
[4908] GD:QueryService (IAccessibleEx) return hr=80070057, ptr=00000000


Вот FF5:

Code: Select all
[8252] GD: Element location: left=336, top=650, width=780, height=68
[8252] GD:QueryService (IAccessibleEx) return hr=80070057, ptr=00000000

Re: Нет всплывающего перевода при наведении мышкой

PostPosted: Mon Jul 04, 2011 8:05 pm
by Tvangeste
Acrobat Reader:

Code: Select all
[2608] GD: Element location: left=951, top=487, width=536, height=626
[2608] GD:QueryService (IAccessibleEx) return hr=80004002, ptr=00000000


IE9 молчит, как партизан, пока ничего не говорит!

Re: Нет всплывающего перевода при наведении мышкой

PostPosted: Mon Jul 04, 2011 8:15 pm
by Abs62
return hr=80070057

E_INVALIDARG. Вообще не знают, что это за интерфейс.
return hr=80004002

E_NOINTERFACE. Знает, но не реализовано.
IE9 молчит, как партизан, пока ничего не говорит!

Разрядность не та?

Re: Нет всплывающего перевода при наведении мышкой

PostPosted: Mon Jul 04, 2011 8:19 pm
by Tvangeste
Opera говорит что-то другое. По крайней мере, больше! 8-)

Code: Select all
[8916] GD:AccessibleObjectFromPoint return hr=00000000, ptr=005542A8, Child_ID=0
[8916] GD: Element location: left=932, top=368, width=451, height=22
[8916] GD:QueryInterface (IServiceProvider) return hr=00000000, ptr=005542B8
[8916] GD:QueryService (IAccessibleEx) return hr=80070057, ptr=00000000

Re: Нет всплывающего перевода при наведении мышкой

PostPosted: Mon Jul 04, 2011 8:21 pm
by Tvangeste
Abs62 wrote:
IE9 молчит, как партизан, пока ничего не говорит!

Разрядность не та?

В таск менеджере пишет, что iexplore.exe *32.

Re: Нет всплывающего перевода при наведении мышкой

PostPosted: Mon Jul 04, 2011 8:40 pm
by Abs62
Opera говорит что-то другое.

Да то же самое. Не знает она этого интерфейса.
В таск менеджере пишет, что iexplore.exe *32.

Тогда должно появиться хотя бы "GD: Text spy started" при первом заходе на него мышкой после включения сканирования. Это выдаётся, когда библиотека GdTextOutSpy.dll подключается к новому процессу.

Re: Нет всплывающего перевода при наведении мышкой

PostPosted: Tue Jul 05, 2011 3:19 pm
by Abs62
Tvangeste
Попробуй выключить защищённый режим в IE и посмотреть, что в этом случае получится.

Re: Нет всплывающего перевода при наведении мышкой

PostPosted: Fri Jul 08, 2011 12:19 pm
by Abs62
Tvangeste
Крайний вариант работает с IE9 через IAccessibleEx. Проверено на Win7 32-bit.

Re: Нет всплывающего перевода при наведении мышкой

PostPosted: Fri Jul 08, 2011 12:51 pm
by Tvangeste
Abs62 wrote:Крайний вариант работает с IE9 через IAccessibleEx. Проверено на Win7 32-bit.

О! Сегодня вечерком погоняю, отличные новости! :)

А чего было-то, почему раньше не работало?

Re: Нет всплывающего перевода при наведении мышкой

PostPosted: Fri Jul 08, 2011 1:12 pm
by Abs62
Причина номер раз: надо было пройтись по дереву элементов вверх, чтобы найти тот, что отвечает за текст.
Причина номер два: чтобы обеспечить взаимодействие с защищённым режимом, надо было дополнительно подстроить права доступа для объектов и фильтр сообщений.
Причина номер три, которую искал дольше всего: не первый год безупречно работающая функция установки хуков на функции вывода в защищённом режиме IE9 молча крашилась без единого писка и утаскивала за собой обе библиотеки. А всё программистская лень и недостаток паранойи - кое-где не было проверок возвращаемого значения системных функций. ;)