Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также саму программу AutoHotkey и проблемы её использования)

Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.

Оригинал статьи в AutoHotkey.chm: "MouseGetPos", в содержании - "Mouse Control" - "MouseGetPos", v1.0.46.03.

Ник переводчика: YMP.

Настоящее имя переводчика: Юрий Попов.

MouseGetPos

Считывает текущее положение курсора мыши, а также определяет, какое окно и какой контрол находятся под курсором.

MouseGetPos, [OutputVarX, OutputVarY, OutputVarWin, OutputVarControl, 1|2|3]

Параметры

OutputVarX/Y Имена переменных, в которые будут помещены координаты курсора. Координаты считаются относительно активного окна, если это не изменено командой CoordMode.
OutputVarWin Имя переменной, куда помещается идентификатор окна (HWND). Если окно определить не удаётся, переменная будет пустой.

Окно не обязано быть активным, но скрытые окна не определяются.
OutputVarControl Имя переменной, куда помещается имя (ClassNN) контрола под курсором. Если контрол не может быть определён, переменная будет пустой.

Имена контролов должны всегда совпадать с теми, что показывает программа Window Spy, распространяемая с версией 1.0.14 и более поздними (но для более старых версий Window Spy это не всегда так). Однако, в отличие от Window Spy, команда MouseGetPos определяет контролы окна даже если окно не активно.
1|2|3 Если опущен, принимает значение 0. Допустимы следующие значения:

1. Используется более простой метод определения контролов. Этот метод корректно определяет активное/верхнее дочернее окно в приложениях с многодокументным интерфейсом (MDI), таких как SysEdit или TextPad. Однако он менее надёжен для других целей, таких как определение контролов внутри контрола GroupBox.

2. [v1.0.43.06+] Определяет не имя контрола (ClassNN), а его идентификатор (HWND).

3. [v1.0.43.06+] Комбинация 1 и 2, описанных выше.

Примечания

Любая выходная переменная может быть опущена, если соответствующая информация не требуется.

Примеры

MouseGetPos, xpos, ypos 
Msgbox, Текущие координаты курсора: X%xpos% Y%ypos%. 

; Пример ниже позволяет, двигая мышь по экрану,
; видеть в подсказке идентификатор окна под курсором,
; его класс, заголовок, а также имя контрола (ClassNN).
#Persistent
SetTimer, WatchCursor, 100
return

WatchCursor:
MouseGetPos, , , id, control
WinGetTitle, title, ahk_id %id%
WinGetClass, class, ahk_id %id%
ToolTip, ahk_id %id%`nahk_class %class%`n%title%`nControl: %control%
return

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.