

Итак, встречайте: Spy ++, The Customiser, Managed Spy и WfSpy. Первые два инструмента рассчитаны на работу с native Win32 приложениями, так как были созданы до появления технологии .NET, однако работу свою выполняют хорошо и с managed-приложениями. Естественно, всех свойств и событий для .NET контролов они не покажут, но наиболее важные, такие как: координаты, размеры, текст, доступность (enable/disable) - будут.
Spy ++ (Microsoft, Win32)
Пожалуй, самый известный в своем роде. Этим инструментом я пользуюсь постоянно и по сей день, поскольку это самый надежный инструмент из перечисленных. Не так давно у него появился младший брат Remote Spy – ориентированный на работу с приложениями, написанными для мобильных устройств.Но это уже совсем другая история. Spy++ уже много лет входит в состав Visual Studio. Однако через меню кнопки Пуск (Start) вы его, скорее всего, не найдете и поэтому рекомендую самостоятельно поискать в каталоге установки студии через обычный файловый поиск spyxx.exe. У меня он находится здесь VSDir\Common7\Tools (VSDir – каталог, где установлена студия). На рисунке ниже представлено главное окно Spy++, как оно выглядит сразу же после старта.Инструмент умеет показывать информацию о запущенных процессах, созданных окнах, потоках. Но работает только в режиме readonly – показывает различные свойства перечисленных объектов системы, но менять не дает, в отличие от The Customiser или Managed Spy. Позволяет так же отслеживать события, которые приходят к интересующему окну. Чтобы начать исследовать какую-нибудь сложную форму или контрол, вызовите команду Find Window из меню Spy.




Ну, вот вкратце и все. У инструмента еще много возможностей и кого он заинтересует, найдет их самостоятельно. Дополнительное описание Spy++ можно найти на его страничке в MSDN.
The Customiser (Wanga International, Win32)
Это первый инструмент такого рода, с которым я познакомился. Настоящая игрушка для программистов (и не только). В изучении пользовательского интерфейса приложений намного удобней и интуитивней Spy++ или Managed Spy. Скачать его можно здесь. Позволяет во время работы приложения менять свойства его контролов – размеры, положение, надписи, видимость, доступность (enable/disable) и еще много чего. Посылать различные сообщения контролам и окнам. Например, любую кнопку, которая находится в состоянии disable можно сделать enable, потом нажать и посмотреть что произойдет :). Вообще The Customiser умеет много чего, всего и не перечесть. Весьма прикольно при помощи The Customiser модифицировать панель задач и кнопу Пуск/Start. На рисунке ниже показан результат работы над кнопкой Start и панелью задач.

Коротко опишу назначение каждой закладки.
- Size and Position – просмотр и изменение положения и размеров компонента.
- Text – позволяет изменять текст компонента, например, заголовок окна или надпись на кнопке.
- Misc. – закладка предназначена для изменения таких свойств компонента как enable, visibility. Также содержатся команды для посылки событий типа maximize, minimize.
- API Message – закладка предназначена для послылки компоненту всевозможных событий.
Managed Spy (Microsoft, .NET 2.0)
Это бесплатный инструмент, написанный Benjamin Wulfe, участвовавшим в разработке Visual Studio, дизайнера Windows Forms, и ряда классов для Framework и Compact Framework. Скачать ManagedSpy можно здесь. Сразу после старта в левой части окна отображаются процессы с managed кодом, а справа – свойства выбранного процесса или его дочернего элемента.


WfSpy (.NET 1.0, .NET 1.1)
Инструмент написан Rama Krishna Vavilala. Распространяется бесплатно и исходниками, которые прилагаются к его статье на CodeProject. Статья доступна вот здесь. К ней прилагается вариант, скомпилированный для .net 1.0. но для работы под .net 1.1 достаточно его просто перекомпилировать в VS 2003. В целом по внешнему виду очень похож на ManagedSpy. Сразу после старта в центральной части окна отображаются процессы с managed кодом. Чтобы посмотреть свойства заинтересовавшего компонента надо нажать кнопку Details. После чего откроется окно со списком свойств выбранного компонента, где можно как просматривать, так и изменять свойства компонента.
Как видно из этого небольшого обзора, большинство инструментов достаточно просты и работа с ними интуитивно понятна. Самый сложный в использовании – это Spy++, однако, он, пожалуй, и самый функциональный. В статье приведены четыре инструмента, с другими мне сталкиваться не приходилось, так что если вы знакомы с каким-либо еще подобным инструментом - пожалуйста, напишите об этом в комментариях.
7 комментариев:
Есть еще вот такая вот штука
http://www.acorns.com.au/Projects/Hawkeye/
Довольно удобная надо сказать.
Привет Андрей!
TestComplete имеет очень подробное дерево с процессами окнами и прочими внутренними параметрами. Кажется позволяет "дергать" методы и свойства. Возможно он занял приличное место на пъедестале.
Простой деревенский программист.
C TestComplete знаком, но как-то я про него забыл ( все-таки это инструмент для функционального тестирования :)).
добрый день, понравился customiser удобная штука но как вы и подметили не везде работает.например на 64 разрядной w7 не тянет, подскажите пожалуйста чем можно воспользоваться на данной версии ОС. может можно что-нибудь сделать, чтоб тут заработал customiser..
еще есть хорошая программка enable buttom, которая при запуске автоматически делает кнопки открытых окон доступными для нажатия.
Увы, но ничего не подскажу.
В хр не могу найти The Customizer.Можно подробнее узнать как это сделать.
Разобрался.
Отправить комментарий