1 (изменено: lprooo, 2012-01-19 20:35:04)

Тема: AHK: Поиск пикселя в активном и не активном окне одновременно

Вообщем имеется два окна(одно из них всегда активно другое нет) в обоих периодически появляется  пиксел 0x08000e.Если пиксел найдется в активном окне то играет мелодия1(tada.wav) если пиксел найден в неактивном окне то мелодия2. У меня получилось найти пиксель в активном окне:

loop
{
CoordMode, Relative
pixelsearch, px, py, 69, 150, 563, 626, 0x08000e
if errorlevel = 0
SoundPlay, %A_WinDir%\Media\tada.wav
}

Подскажите как сделать чтобы он искал в двух окнах?
Эти два окна одинаковы и находятся рядом с друг другом одно с лева другое с права они не перекрывают друг друга.

Вот еще и в не активном сделал:

loop
{
CoordMode, screen
pixelsearch, px, py, 719, 113, 1305, 626, 0x08000e

if errorlevel = 0

SoundPlay, %A_WinDir%\Media\ring.wav

Осталось одна проблема как соединить их в один скрипт?

2

Re: AHK: Поиск пикселя в активном и не активном окне одновременно

SetTimer, GetPixel, 100

GetPixel:
   CoordMode, Pixel, Relative
   PixelSearch,,, 69, 150, 563, 626, 0x08000E
   If !ErrorLevel
      SoundPlay, % A_WinDir "\Media\tada.wav"
   CoordMode, Pixel
   PixelSearch,,, 719, 113, 1305, 626, 0x08000E
   If !ErrorLevel
      SoundPlay, % A_WinDir "\Media\ring.wav"
   Return

3

Re: AHK: Поиск пикселя в активном и не активном окне одновременно

loop
{
CoordMode, Relative
pixelsearch, px, py, 69, 150, 563, 626, 0x08000e
if errorlevel = 0
SoundPlay, %A_WinDir%\Media\tada.wav
CoordMode, screen
pixelsearch, px, py, 719, 113, 1305, 626, 0x08000e
if errorlevel = 0
SoundPlay, %A_WinDir%\Media\ring.wav
}

вот так вот работает просто их соединив.

А ваш способ работает один раз и потом выключается, а мне необходимо бесконечный поиск пока самому не выключить скрипт.

4

Re: AHK: Поиск пикселя в активном и не активном окне одновременно


#Persistent
SetTimer, GetPixel, 100
 
GetPixel:
   CoordMode, Pixel, Relative
   PixelSearch,,, 69, 150, 563, 626, 0x08000E
   If !ErrorLevel
      SoundPlay, % A_WinDir "\Media\tada.wav"
   CoordMode, Pixel
   PixelSearch,,, 719, 113, 1305, 626, 0x08000E
   If !ErrorLevel
      SoundPlay, % A_WinDir "\Media\ring.wav"
   Return

AutoHotkeyTranslation

5

Re: AHK: Поиск пикселя в активном и не активном окне одновременно

В общем после некоторых тестов, конечные варианты выполнения данной задачи у меня выглядят так:

CoordMode, Pixel
SetTimer, GetPixel, 100

GetPixel:
   PixelSearch,,, 69, 150, 563, 626, 0x08000E
   If !ErrorLevel
   {
      SoundPlay, % A_WinDir "\Media\tada.wav"
      Sleep, 750
   }
   PixelSearch,,, 719, 113, 1305, 626, 0x08000E
   If !ErrorLevel
   {
      SoundPlay, % A_WinDir "\Media\ring.wav"
      Sleep, 750
   }
   Return

F5::Reload
Esc::ExitApp
CoordMode, Pixel

Loop
{
   PixelSearch,,, 69, 150, 563, 626, 0x08000E
   If ErrorLevel=0
   {
      SoundPlay, %A_WinDir%\Media\tada.wav
      Sleep, 750
   }
   PixelSearch,,, 719, 113, 1305, 626, 0x08000E
   If ErrorLevel=0
   {
      SoundPlay, %A_WinDir%\Media\ring.wav
      Sleep, 750
   }
}
Return

2 creature.ws

creature.ws пишет:
#Persistent
...

В процессе работы в редакторе, предпочитаю использовать многострочный комментарий, отделяя ненужное от нужного, но всегда две последние строки у меня заканчиваются хоткеями:

/*
...
*/

/*
...
*/

;/*
SetTimer, Lbl, 500

Lbl:
   TrayTip,, Hello world!
   Sleep, 250
   TrayTip
   Return
*/

/*
...
*/

/*
...
*/

/*
...
*/

/*
...
*/

F5::Reload
Esc::ExitApp

По этому, могу сие и упустить.

6

Re: AHK: Поиск пикселя в активном и не активном окне одновременно

Спасибо за помощь