1

Тема: AHK: координаты и разрешение экрана

Привет, есть у меня скрипт который при нажатии кнопки происходит клик в заданных координатах, но поскольку разрешения экранов разные то соответственно надо чтобы пользователь мог выбирать разрешение (drop menu).
как это реализовать? если не сложно напишите пожалуйста пример (в дроп меню 800x600 и 1024х768.  Если 800x600 то x1=1 y1=2, если 1024x768 то x1=3 y1=4)
Это возможно реализовать в коде? или надо использовать ini?

2

Re: AHK: координаты и разрешение экрана

Разрешение экрана и без пользователя можно узнать. Встроенные переменные A_ScreenWidth и A_ScreenHeight.

MsgBox, Разрешение экрана: %A_ScreenWidth%x%A_ScreenHeight%

3 (изменено: vinternete, 2011-02-02 17:14:19)

Re: AHK: координаты и разрешение экрана

Так мне не надо разрешение экрана, мне надо чтобы под каждое разрешение экрана были свои координаты x:y.
Суть скрипта кликать в определенном участке экрана, но в зависимости от разрешения, это место находится в разных координатах.

4

Re: AHK: координаты и разрешение экрана

Ну так и меняйте координаты в зависимости от разрешения. Как его узнать, я Вам сказал.

5

Re: AHK: координаты и разрешение экрана

Вобщем сделал я как хотел

Gui, Add, DropDownList,x56 y697 w220 h10 gChoose R3, 800x600|1024x768
Gui, Show
return
Choose:
   if A_GuiControl = 800x600
      Goto, 1
   if A_GuiControl = 1024x768
      Goto, 2
return
2:
X1:=815 
X2:=875 
MsgBox 2
Y1:=Y2:=735 
Return
1:
X1:=635 
X2:=680 
MsgBox 1
Y1:=Y2:=570 
Return

6

Re: AHK: координаты и разрешение экрана

Зачем давать пользователю выбирать разрешение, если это может сделать скрипт сам. Пользователь может и не знать своего разрешения, более того, даже не знать, где его посмотреть. YMP написал, как определить разрешение.

7

Re: AHK: координаты и разрешение экрана

Хм, а это отличный вариант, я то сразу не понял как применить, спасибо за помощь.

8

Re: AHK: координаты и разрешение экрана

Решение забыли дописать (проформы для) ато выглядит незакончено.

if A_ScreenWidth = 800
 {
 X1:=635 
 X2:=680 
 MsgBox 1
 Y1:=Y2:=570 
 }
Else ; if A_ScreenWidth > 800
 {
 X1:=815 
 X2:=875 
 MsgBox 2
 Y1:=Y2:=735 
 }

9

Re: AHK: координаты и разрешение экрана

P.S.

if A_ScreenWidth = 800
 X1:=635, X2:=680, Y1:=Y2:=570
Else
 X1:=815, X2:=875, Y1:=Y2:=735

Click, %X1%, %Y1%
Click, %X2%, %Y2%
MsgBox %X1%x%Y1%`n%X2%x%Y2%

"разрешения экранов разные"
Если будет больше одного экрана, то для второго примерно так -

 X1:=635+A_ScreenWidth, X2:=680+A_ScreenWidth, Y1:=Y2:=570+A_ScreenHeight