Войти

Показать полную графическую версию : Отправка команды send в свернутое окно


Frost_Imp
12-07-2009, 14:29
Собственно сабж. Окно приложения свернуто и, как следствие, неактивно. Есть ли возможность эмулировать в свернутом приложении нажатия на клавиатуре?

Frost_Imp
12-07-2009, 15:50
Нашел ответ тут (http://forum.oszone.net/thread-141121.html), в принципе работает.

Frost_Imp
12-07-2009, 17:43
Возник вопрос относительно функции 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
Можно, но это окно должно лежать поверх остальных (Можно и не поверх, но тот участок клиента игры с которого ты будешь брать цвет, не должен быть закрыт другими окнами)

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

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




© OSzone.net 2001-2012