1 (изменено: Violence-Fetish, 2017-01-27 18:39:30)

Тема: Определение размера окна

Уважаемые участники форума , прошу Вашей помощи, сложилась такая ситуация , что я думал что координаты будут рассчитаны автоматический , при использование MouseClick, left, далее координаты экрана. И в зависимости от координат он будет смотреть на размер экрана действующего окна и подгонять их под нужную область куда нужно кликнуть. Но как оказалось я был не прав.

Появилась идея , что бы не мучится , считывать настройки экрана игры с реестра , но вот незадача , одно дело что я допустим считаю с реестра результат которого к примеру 1024x768 , как указывать координаты мыши что бы в независимости от размера экрана он кликал именно в ту область которая нужна ?

2 (изменено: Nikva, 2017-01-27 17:18:46)

Re: Определение размера окна

Есть команда WinGetPos (Возвращает позицию и размеры указанного окна).
Также CoordMode,позволяет согласовать режимы работы относительно всего экрана или отдельного окна.

Небольшая демонстрация команд:

Run, calc ,,, PID1
CoordMode, Mouse, Screen
MouseMove, 1, 1
ToolTip, Мышь перемещенна в координаты x1 y1 относительно экрана
Sleep 2000
CoordMode, Mouse, Window 
MouseMove, 1, 1
ToolTip, Мышь перемещенна в координаты x1 y1 относительно калькулятора
Sleep 2000
Loop 10
{
WinGetPos, X, Y, Width, Height, Калькулятор 
CoordMode, Mouse, Screen
MouseMove, % X+Width/2, % Y+Height/2
ToolTip, Мышь перемещенна в центр калькулятора
Sleep 200
WinMove, Калькулятор,, A_Index*50,  A_Index*25
Sleep 200
}
Process, Close, % PID1
ExitApp

3

Re: Определение размера окна

Ну вот смотрите , получается как я понимаю мне даже не нужно вычислять координаты считывая их с реестра , достаточно будет указать что я использую координаты относительно окна / скрина / клиента.
Но опять таки , там где MouseMove / MouseClick / MouseDrag - как их определять ?
Я имею ввиду сейчас , к примеру у меня при разрешении экрана это одни координаты скажем 853, 922 , но для любого другого размера экрана эти координаты уже будут бесполезны , вопрос таков , как Вычислить мои координаты т.е 853, 922 только на любых других расширениях ?.

з.ы Я не так давно начал по сему задаю наверное много банальных вопросов но всё же. Буду очень признателен за любую помощь.