Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Отправка команды send в свернутое окно (http://forum.oszone.net/showthread.php?t=144876)

Frost_Imp 12-07-2009 14:29 1165475

Отправка команды send в свернутое окно
 
Собственно сабж. Окно приложения свернуто и, как следствие, неактивно. Есть ли возможность эмулировать в свернутом приложении нажатия на клавиатуре?

Frost_Imp 12-07-2009 15:50 1165543

Нашел ответ тут, в принципе работает.

Frost_Imp 12-07-2009 17:43 1165614

Возник вопрос относительно функции PixelGetColor... Проверяю возвращаемое значение простым, собственно, запросом
Код:

;WinWaitActive("мое приложение") 
;привязываем координаты к активному окну 
Opt("MouseCoordMode",2) 
MouseClick("left", 28, 111, 2)   
$var1 = PixelGetColor( 28 , 111 ) 
MsgBox(0,"The decmial color is ", $var1)

Так вот, прикол в том, что мне всегда из данной координаты возвращается одно и то же число. Вернее не всегда, а в какой то странной закономерности. Например, убираю камент на ожидании активации нужного мне приложения (игры). Проверяю цвет пиксела. Делаю что-нибудь в игре (грубо говоря меняю картинку), проверяю - цвет пиксела ТАКОЙ ЖЕ. Но в игре радикально изменяется картинка, не может он быть таким же... В чем затыК

ЗЫ. Можно ли узнавать цвет пикселя в НЕАКТИВНОМ (несвернутом) окне?

Belfigor 01-08-2009 15:59 1183047

Можно, но это окно должно лежать поверх остальных (Можно и не поверх, но тот участок клиента игры с которого ты будешь брать цвет, не должен быть закрыт другими окнами)

$WinPos = WinGetPos($Game)
PixelGetColor($WinPos[0]+$x, $WinPos[1]+$y)

При таком раскладе окно может быть не активным, скрипт привяжется просто к левой верхней координате окна, прибавит заданный по Ч и У отступ и возьмет цвет. Но цвет он уже будет брать относительно левого верхнего угла экрана. Тоесть Opt("MouseCoordMode",2) тебе надо будет либо выключить.


Время: 17:26.

Время: 17:26.
© OSzone.net 2001-