1 (изменено: serzh82saratov, 2023-04-29 19:10:44)

Тема: AHK: Скрипт на замену "Window Spy"

Данный скрипт можно использовать как более функциональную замену утилите "Window Spy" идущую в комплекте с AutoHotkey.

+ Определяет цвет пикселя под мышкой и визуализирует его.
+ Определяет специфичное инфо для некоторых типов контролов.
+ Извлекает данные элементов Internet Explorer_Server.
+ Извлекает некоторые данные из объектов IAccessible.
+ Извлекает данные из окон стандартного меню.
+ Определяет нажатые кнопки и выдаёт синтаксис для некоторых команд.
+ Определяет имя кнопки по VK или SC коду, или наоборот.
+ Копирование в один клик, удобная навигация по заголовкам, привязка нужного заголовка при выводе новой инфо (якорь).
+ Обводит рамкой определяемый объект.
+ Автоматическое обновление (работает только в некомпилированном скрипте).
+ Экранная лупа. Вырезание объектов, произвольных зон, сохранение в файл или буфер.
+ Изменяет позицию и размер окна или контрола.
+ Закрывает окно или его процесс, показывает файл процесса в папке.
+ Отображает структуру окна, и все окна процесса.
+ Отображает стили с возможностью их изменения.


https://github.com/serzh82saratov/AhkSpy/blob/master/AhkSpy%20picture%202020-11-14%2007.15.51.png?raw=true


Горячие клавиши:


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.

+ Вид меню:

https://raw.githubusercontent.com/serzh82saratov/AhkSpy/master/menu.png

+ Пункты меню:
  • 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.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

2 (изменено: serzh82saratov, 2018-01-30 01:35:33)

Re: AHK: Скрипт на замену "Window Spy"

+ Старая версия, более не поддерживается, на случай если есть проблемы с новой.

https://ic.pics.livejournal.com/the_bestseller/49384395/15193/15193_900.png


Горячие клавиши:


Shift+Tab - Извлекает данные для текущего режима (если Spot together включен, то для обоих), активирует окно скрипта, активация окна приостанавливает сбор данных. Shift+Tab также работает когда окно AhkSpy активно.
Если включено "Work with the active window", работает как "Pause".
RButton - Копирует выделенный текст.
Shift+RButton - Добавляет текст к буферу обмена. В режиме "Hotkey" - удержание RButton.
Ctrl+RButton - Копирует строки вида x8 y50 w1920 h998 как 8, 50, 1920, 998. Ctrl+Shift+RButton добавляет таковое к буферу обмена.
Win+RButton - Вставляет текст из буфера обмена.
Pause (Break) - Пауза.
Shift+Wheel(Down|Up) или F1 и F2 - Навигация по заголовкам (удобно если много данных).
Ctrl+Wheel(Down|Up) - Изменить размер шрифта.
Alt+Wheel(Down|Up) или F3 и F4 - Скролл влево|вправо.
F5 - Вернуть на форму последние определённые данные (также как и нажать кнопку текущего режима).
F6 - AppsKey
F7 - Вызывает меню программы.
Shift+Win+(Left|Right|Up|Down) - Сдвинуть мышь на один пиксель, также работает если окно AhkSpy активно.
Ctrl+F или F8 - Поиск на странице.
F11 - Полноэранный режим.

Клик по "цветному прямоугольнику" (между кнопками "Mouse && Control" и "Button") деактивирует окно (Alt+Escape), в режиме "Button" вставляет текст.

Также смотрите меню (правой кнопкой мыши кроме текстового поля, или Alt+Space).

+ Вид меню:

https://ic.pics.livejournal.com/the_bestseller/49384395/14533/14533_900.png

+ Пункты меню:
  • Backlight allways - Всегда показывать рамку определяемого объекта

  • Backlight hold shift button - Показывать рамку определяемого объекта только при зажатой клавише "Shift"

  • Window or control backlight - Показывать красную рамку для окна или контрола

  • Acc object backlight - Показывать синюю рамку для объектов Accesible

  • Spot together (low speed) - Одновременно в фоне определять данные для другого режима, замедляет работу

  • Work with the active window - Определять данные при активном окне AhkSpy.

  • Check updates - Проверять обновления программы (для некомпилированного).

  • Start mode - При запуске программы включать указанный режим

  • Remember position - При запуске программы показать окно в последних координатах

  • Remember size - При запуске программы показать окно в последних размерах

  • Remember font size - Запоминать размер шрифта

  • Remember state zoom - При запуске программы если есть дополнение AhkSpyZoom показать окно лупы, если оно было показано до этого при закрытии

  • Remember zoom size - При запуске программы если есть дополнение AhkSpyZoom показать окно лупы в последних размерах

  • Fullscreen - AhkSpy во весь экран

  • Default size - Установить для окна AhkSpy размер по умолчанию (также и для AhkSpyZoom)

  • Find to page - Поиск текста в AhkSpy

  • Word wrap - Перенос слов

+ Дополнения:

Файлы могут быть компилированные.

  • Если в папке с AhkSpy есть файл "AhkSpyZoom.ahk", то сверху рядом с кнопкой паузы будет кнопка "zoom". Shift+Win+Wheel(Down|Up) - Изменить увеличение.

  • Если в папке с AhkSpy есть файл "AccViewer Source.ahk", то рядом с заголовком  "AccInfo" будет кнопка его запуска.

  • Если в папке с AhkSpy есть файл "iWB2 Learner.ahk", то рядом с заголовком  "Info - Internet Explorer_Server" будет кнопка его запуска.

  • Если в папке с AhkSpy создать файл с именем AhkSpyInclude.ahk, в него можно прописать свой код, действующий сразу после старта программы

Примечания:

Код предназначен только для AutoHotkey_L Unicode.

В системе должен быть установлен Internet Explorer не ниже 6 версии.

------------------------------------------------------

Скачать  AhkSpy

------------------------------------------------------

Тема для обсуждения

------------------------------------------------------

Чтобы сразу сохранить в файл, нажмите правую кнопку мыши на ссылке "Скачать AhkSpy", выберите "сохранить как" (!этот способ работает не во всех браузерах). Иначе перейдите по ссылке, и скопируйте код в файл с расширением .ahk, и с кодировкой UTF-8.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui