1

Тема: AHK: Заблокировать ввод ПКМ в определённых кординатах

Суть в том, чтобы заблокировать ввод ПКМ если курсор находится в координатах: (по оси Х) с 458 по 623 и (по оси Y) с 370 по 674, и при нахождении определенного пикселя в определенных координатах, но также, чтобы при нажатии на ПКМ в тех координатах, в которых должен блокироваться ввод ПКМ, с нахождением этого пикселя отсылался 1 раз ввод цифры 8. В остальных случаях нужно сделать так, чтобы ввод ПКМ не блокировался, то есть при отсутствии того определенного пикселя в определенных координатах, но нахождении курсора в тех координатах, где должна быть блокировка ПКМ при таком то пикселе или нахождении того пикселя, но нахождении курсора вне координат при нахождении определенного пикселя, где должна быть блокировка. Пробовал такие варианты:

Loop
{
GetKeyState, OutputVar, RButton 
if OutputVar = D
{
MouseGetPos, OutputVarX, OutputVarY
if OutputVarX between 458 and 623
if OutputVarY between 370 and 674
SendInput 8
}
sleep 8
}
~RButton::
MouseGetPos, OutputVarX, OutputVarY
if OutputVarX between 458 and 623
{
if OutputVarY between 370 and 674
{
PixelGetColor, color,  320 , 899  
if color = 0x1CC1DB
Hotkey, RButton, Off
SendInput 8 
}
else
Hotkey, RButton, On
}
return
#if PixelColor(317 , 898) = 0x29F7FF  
    RButton::Send {8}
#if

PixelColor(x, y) {
    PixelGetColor, color,  % x, % y   
    return color
}

2 (изменено: creature.ws, 2013-02-03 00:30:30)

Re: AHK: Заблокировать ввод ПКМ в определённых кординатах

Вы перечитывали своё сообщение? Вы считаете использованные формулировки понятными?

3

Re: AHK: Заблокировать ввод ПКМ в определённых кординатах

Описание очень туманное..

Что конкретно у вас не выходит? Попытайтесь описать проблему и задачу максимально кратко.

AutoHotKey Version: 1.1.09.02
Не спеши, а то успеешь..

4 (изменено: Странник, 2013-02-03 01:30:12)

Re: AHK: Заблокировать ввод ПКМ в определённых кординатах

Кратко: в одной области при нахождении предопределенного пикселя и при нахождении в нем курсора мышки не должно происходить отсылание щелчка пкм если я нажимаю пкм на самой мышке, но при этом в этой области при этих условиях должен происходить перехват физического нажатия на кап на цифру 8. В остальной области если я буду водить мышкой и жать в ней пкм, то происходил бы ввод, даже не смотря на то, что есть тот предопределенный пиксель. Это реально трудно изложить, если не понятно, то могу попробовать графически изъяснить.

5 (изменено: creature.ws, 2013-02-03 01:57:31)

Re: AHK: Заблокировать ввод ПКМ в определённых кординатах

должен происходить перехват физического нажатия

— понятно.

на кап на цифру 8

— непонятно.

6

Re: AHK: Заблокировать ввод ПКМ в определённых кординатах

creature.ws пишет:

на кап на цифру 8

— непонятно.

На пкм имелось в виду. Т.е. при нажатии пкм, когда условия скрипта блокируют ввод щелчка пкм, должен идти перехват физического нажатия пкм на цифру 8.

7 (изменено: creature.ws, 2013-02-03 07:13:55)

Re: AHK: Заблокировать ввод ПКМ в определённых кординатах

#if PointerInRect(458, 370, 623, 674) && PixelColor(320, 899) = 0x1CC1DB
    RButton::Send {vk38}
#if

; прямоугольную область на экране монитора приемлемо задать координатами двух точек: x0 y0 — координаты «верхнего левого» угла прямоугольника; x1 y1 — координаты «нижнего правого» угла.
PointerInRect(x0, y0, x1, y1) {
    CoordMode mouse
    MouseGetPos x, y
    return x >= x0 && x <= x1 && y >= y0 && y <= y1
}

PixelColor(x, y) {
    CoordMode pixel
    PixelGetColor, color,  % x, % y
    return color
}

8

Re: AHK: Заблокировать ввод ПКМ в определённых кординатах

#if PointerInRect(457, 370, 625, 675) && PixelColor(319 , 901) = 0x18B1D2
    RButton::Send {8}
#if

; прямоугольную область на экране монитора приемлемо задать координатами двух точек: x0 y0 — координаты «верхнего левого» угла прямоугольника; x1 y1 — координаты «нижнего правого» угла.
PointerInRect(x457, y370, x625, y675) {
    CoordMode mouse
    MouseGetPos x, y
    return x >= x457 && x <= x625 && y >= y370 && y <= y675
}

PixelColor(x, y) {
    CoordMode pixel
    PixelGetColor, color,  % x, % y
    return color
}

Не работает, к сожалению, в той областе, где должен блокироваться ввод не блокируется и не отсылается цифра 8

9 (изменено: creature.ws, 2013-02-04 00:30:53)

Re: AHK: Заблокировать ввод ПКМ в определённых кординатах

Что за самодеятельность в коде? Зачем переменные называть так?

Не работает, к сожалению, в той областе, где должен блокироваться ввод не блокируется и не отсылается цифра 8

Какой ответ вы ожидаете получить на эту реплику?
Код перед вами, разбирайтесь.