Spy++ без потаскухи
От: kero Россия  
Дата: 02.05.07 11:15
Оценка: 16 (4)
Имеется в виду перетаскиваемая мишень из Finder Tool

Так вот: эта эффектная потаскуха заметно ограничивает исследовательские возможности Spy++.

Попробуйте-ка отловить такие нестабильные окна, как #32768 (всплывающее меню), или tooltips_class32,
или SysDragImage, или тот временный Edit, который создается для переименования иконки файла.

Да и вообще, приходится констатировать, что Spy++ не проявляет должного интереса к текучке в оконной иерархии...

Но это легко поправить. И вот набросок решения (5 kb).

Запускаем 4spyxx.exe до или после запуска Spy++ (опробовано с версиями 6.00.8168 и 7.10.3077).

В Spy++ активным окном устанавливаем [Windows 1], а в окне 4spyxx выбираем один из режимов работы :
Select, Properties, Messages, Auto_Refresh, Auto_Select, Z_from_point.

"Refresh" и "Windows" просто выполняют одноименные пункты меню Spy++.

Строчка CURSOR + SHIFT не даст забыть, как обойтись без потаскухи: навести курсор и шлепнуть Shift.

Select: после SHIFT — фиксация выбранного окна

Properties: после SHIFT — фиксация выбранного окна + спаевская инфа "Window Properties"

Messages: после SHIFT — фиксация выбранного окна + показ перехвата сообщений

Auto_Refresh: после SHIFT — фиксация выбранного окна с автоматическим обновлением дисплея Spy++

Auto_Select: показ окна под курсором без фиксации выбора, а после SHIFT — переход в режим Select

Z_from_point: после SHIFT — фиксация выбранной точки экрана, + выбор содержащего эту точку окна путем "UP ARROW" и "DOWN ARROW"


Примеры работы Spy++ с прицепом.

1) Выясняем, что происходит с деревом окон при WIN+D :
"Refresh" в прицепе, WIN+D, "Windows" в прицепе, и сравниваем окна [Windows 1] и [Windows 2] в Spy++.

2) Изучаем окно класса #32768 :
Properties в прицепе, вызываем контекстное меню, наводим на его окно курсор, и — SHIFT.

По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.