Тема: AHK: Скрипт на замену "Window Spy"
Данный скрипт можно использовать как более функциональную замену утилите "Window Spy" идущую в комплекте с AutoHotkey.
+ Определяет цвет пикселя под мышкой и визуализирует его.
+ Определяет специфичное инфо для некоторых типов контролов.
+ Извлекает данные элементов Internet Explorer_Server.
+ Извлекает некоторые данные из объектов IAccessible.
+ Извлекает данные из окон стандартного меню.
+ Определяет нажатые кнопки и выдаёт синтаксис для некоторых команд.
+ Определяет имя кнопки по VK или SC коду, или наоборот.
+ Копирование в один клик, удобная навигация по заголовкам, привязка нужного заголовка при выводе новой инфо (якорь).
+ Обводит рамкой определяемый объект.
+ Автоматическое обновление (работает только в некомпилированном скрипте).
+ Экранная лупа. Вырезание объектов, произвольных зон, сохранение в файл или буфер.
+ Изменяет позицию и размер окна или контрола.
+ Закрывает окно или его процесс, показывает файл процесса в папке.
+ Отображает структуру окна, и все окна процесса.
+ Отображает стили с возможностью их изменения.
Горячие клавиши:
Shift+Tab - Извлекает данные для текущего режима, активирует окно скрипта, активация окна приостанавливает сбор данных.
Shift+Tab работает когда окно AhkSpy активно.
Если включено "Work with the active window", работает как "Pause".
Если включено "Spot only Shift+Tab", не активирует окно.
Ctrl+Tab - Скрывает окно AhkSpy, извлекает данные для текущего режима, в лупе не отображает обводку объектов.
Win+Tab - Переключить режимы window и control.
Win+Shift+Tab - Показать\скрыть лупу.
RButton - Копирует выделенный текст. В меню выбирает пункты, не скрывая его.
Shift+RButton - Добавляет текст к буферу обмена. В режиме "Hotkey" - удержание RButton.
Shift+LButton - Нажать кнопку, не активируя AhkSpy.
Ctrl+RButton - Копирует строки вида x8 y50 w1920 h998 как 8, 50, 1920, 998. Ctrl+Shift+RButton добавляет таковое к буферу обмена.
Win+RButton - Вставляет текст из буфера обмена.
Ctrl+Shift+A - Выделяет всё в блоке (то что между заголовков).
CapsLock - Выделяет подсвеченное.
RShift - Диалог Open as если подсвечен хэндл.
Pause (Break) - Пауза.
Shift+Wheel(Down|Up) или F1 и F2 - Навигация по заголовкам (удобно если много данных).
Ctrl+Wheel(Down|Up) - Изменить размер шрифта.
Alt+Wheel(Down|Up) или F3 и F4 - Скролл влево|вправо.
F5 - Вернуть на форму последние определённые данные (также как и нажать кнопку текущего режима).
F6 или Ctrl+F - Поиск на странице.
F7 - Прокрутить до якоря (жёлтой строки).
F8 или Win+Tab - Переключить режимы - Window или Control.
F11 - Полноэкранный режим.
F12 - Вызывает меню программы.
Shift+Win+(Left|Right|Up|Down) - Сдвинуть мышь на один пиксель (вместе с Alt на 10), также работает если окно AhkSpy активно.
Shift+Win+Wheel(Down|Up) или Shift+Win+Page(Down|Up) - Регулировка увеличения лупы.
Клик по "цветному прямоугольнику" (между кнопками "Control" и "Button") деактивирует окно (Alt+Escape), в режиме "Button" вставляет текст.
Правой кнопкой пауза.
LButton удержание над "цветным прямоугольником" цикличный сбор инфо, удобно в режиме Spot only Shift+Tab.
MButton удержание над "цветным прямоугольником" когда окно AhkSpy не активно цикличный сбор инфо.
Двойной клик по названию заголовка в данных отображает его сверху (якорь).
Также смотрите меню (правой кнопкой мыши кроме текстового поля, или Alt+Space).
Большинство пунктов можно выбрать правой кнопкой не скрывая меню.
ГК работают только при курсоре над рендером лупы.
RButton или End - Начать или закончить выделение фрагмента.
MButton или Home - Перейти к диагональной точке выделения.
Shift+MButton или Shift+Home - Перейти к следующей точке выделения по часовой стрелке.
Tab или F1 или F11 - Развернуть или отменить разворачивание окна, или кнопка "квадрат".
F12 или AppsKey - Показать меню, или кнопка "три полоски".
Стрелки клавиатуры - смещение на 1 пиксель, с Shift на 10.
WheelUp, WheelDown, PgUp,PgDn - приблизить, отдалить.
Пункты меню:
Если выделение включено, используется выделенный фрагмент, иначе весь экран.
Save to temp file and edit - Сохраняет в файл "AhkSpy picture.png", в папку TEMP, и открывает в редакторе.
Save to clipboard - Сохраняет bitmap в буфер обмена.
Save to clipboard as Base64 - Сохраняет в буфер обмена в виде строки Base64, с кодеком PNG.
Если удерживать Shift при выборе пункта, то текст будет без переносов строк.
Если удерживать Control при выборе пункта, то строка будет в виде переменной AutoHotkey.
Если удерживать Control и Shift при выборе пункта, то строка будет в виде выражения AutoHotkey.
Большие переменные разбиваются на части.Save to file - Сохраняет в файл "AhkSpy picture %ВРЕМЯ%.png", на рабочий стол.
Save to file and edit - Сохраняет в файл "AhkSpy picture %ВРЕМЯ%.png", на рабочий стол, и открывает в редакторе.
Select window - Установить выделение окна.
Select control - Установить выделение контрола.
Select accesible - Установить выделение accesible.
Select AhkSpy - Установить выделение на окно AhkSpy.
Backlight allways - Всегда показывать рамку определяемого объекта.
Backlight hold shift button - Показывать рамку определяемого объекта только при зажатой клавише "Shift".
Backlight disable - Не показывать рамки.
Window or control backlight - Показывать красную рамку для окна или контрола.
Acc object backlight - Показывать синюю рамку для объектов Accesible.
Spot together (low speed) - Одновременно в фоне определять данные для другого режима, замедляет работу.
Work with the active window - Определять данные при активном окне AhkSpy.
Spot only Shift+Tab - Работает по нажатию Shift+Tab, нажатие не активирует окно.
Также можно зажать левую кнопку мыши над прямоугольником (слева от Button), и отпустить в нужном месте для определения.
"Work with the active window" и "Spot only Shift+Tab" нельзя использовать вместе.Check updates - Проверять обновления программы (для некомпилированного).
View settings
Dynamic control path (low speed) - Показывает путь контрола в иерархии окна, не по запросу, а постоянно. Снижает производительность. (Как это использовать)
Dynamic accesible path (low speed, not recommended) - Показывает путь объекта в иерархии родительского объекта, не по запросу, а постоянно. Значительно снижает производительность, и может привести к зависанию если окно окажется определённым образом скрыто.
Use UI Automation interface - Подключить UIA интерфейс в режиме Control. По умолчанию выключен, так как я не уверен в его стабильной работе без ошибок. При определении родительского процесса отличного от вкладки Window, фон выделяется.
UIA change background for different hwnd - Выделять данные UIA если они отличаются от Control или Window.
Dark theme (reload needed) - Тёмная тема, требуется перезапуск.
Font bold (reload needed) - Жирный шрифт, требуется перезапуск.
Word wrap - Перенос слов.
View coordinates string extended - Дополнительно показывать в координатах данные через запятую.
Flash edge - Подсвечивать рамкой, а не полностью, при нажатии кнопок "flash".
Full scroll with existing anchor - Увеличивает вертикальную зону прокрутки когда есть выделенный заголовок (якорь) для перемотки нижних заголовков вверх.
Moving titles - Оставлять на месте заголовки при горизонтальной прокрутке.
Big text overflow hide - Включено по умолчанию. Добавлять к некоторым полям с возможно большим текстом (у них свои кнопки "copy"), свои полосы прокрутки, если текст не вмещается по ширине, или по высоте поле больше 1 / 3 от высоты экрана, вы можете изменить это значение или выключить.
Start mode - При запуске программы включать указанный режим.
Script
Remember position - При запуске программы показать окно в последних координатах.
Remember size - При запуске программы показать окно в последних размерах.
Remember font size - Запоминать размер шрифта.
Remember state zoom - При запуске программы показать окно лупы, если оно было показано до этого при закрытии.
Remember zoom size - При запуске программы показать окно лупы в последних размерах.
Remember anchor - Запоминает выделенный заголовок (якорь).
Open script dir - Открыть папку скрипта.
Open user dir - Открыть папку с ини файлом, в ней же должны находится дополнения и инклуд.
Active script allow change - Разрешить выполнение сценариев в Internet Explorer во время запуска AhkSpy.
Escape button to minimize - По клавише Escape сворачивать а не закрывать окно AhkSpy.
Reload - Перезагрузить AhkSpy.
Exit - Закрыть AhkSpy.
Help
Check updates AutoHotkey - Проверять обновления AutoHotkey.
AutoHotKey help file - Локальный файл справки.
AutoHotKey official help online - Оригинальная онлайн справка.
AutoHotKey russian help online - Русская справка серого форума.
About - Перейти на эту страницу.
Pause - Пауза AhkSpy.
Suspend hotkeys - Отключить горячие клавиши AhkSpy.
Default size - Установить для AhkSpy размер по умолчанию.
Full screen - Полноэкранный режим AhkSpy.
Find to page - Поиск текста в AhkSpy.
Another one AhkSpy - Запустить ещё один AhkSpy.
Open window from clipboard - см. ниже
Open control from clipboard - Если в буфере обмена содержится хэндл, его можно загрузить в режиме window или control.
Файлы могут быть компилированные.
Если в пользовательской папке создать файл с именем Include.ahk, в него можно прописать свой код, действующий до показа окна. Для продолжения выполнения кода используйте GoTo IncludeLabel.
Если в пользовательской папке (см. меню Open user dir) есть файл "AccViewer Source.ahk", то рядом с заголовком "AccInfo" будет кнопка его запуска.
Если в пользовательской папке есть файл "iWB2 Learner.ahk", то рядом с заголовком "Info - Internet Explorer_Server" будет кнопка его запуска.
Примечания:
В системе должен быть установлен Internet Explorer не ниже 8 версии и разрешённые в нём скрипты (настройка по умолчанию), или смотри меню "Active script allow change".
Исходник предназначен только для AutoHotkey_L Unicode 32-bit не менее 1.1.34.01, скачать.
На AutoHotkey 64-bit может не работать при больших значениях хэндлов окон.
Button, Edit, Static, SysListView32, SysTabControl32, SysDateTimePick32, SysMonthCal32, ComboBox, ListBox, msctls_trackbar32, msctls_statusbar32, msctls_progress32, msctls_updown32, SysLink, SysHeader32, ToolbarWindow32, SysTreeView32, ReBarWindow32, SysAnimate32, SysPager.
И для окон с классом #32770 (диалоговое), tooltips_class32 (tooltip).
------------------------------------------------------
Скачать AhkSpy
------------------------------------------------------
Тема для обсуждения
------------------------------------------------------
Чтобы сразу сохранить в файл, нажмите правую кнопку мыши на ссылке "Скачать AhkSpy", выберите "сохранить как" (!этот способ работает не во всех браузерах). Иначе перейдите по ссылке, и скопируйте код в файл с расширением .ahk, и с кодировкой UTF-8-BOM.
Win10x64 AhkSpy, Hotkey, ClockGui