Что нового

Выборочное закрепление окна

lixar21

Новичок
Сообщения
70
Репутация
0
Доброго времени суток, всем.
Помогите разобраться со скриптом.

Есть скрипт - привязывающий окно Калькулятора к окну Блокнота (конкретный файл).
Однако второе окно (Калькулятор)- выводится не только поверх окна Блокнота, но и поверх всех окон вообще, даже когда окно Блокнота - вне видимости.

Как добавить в данный скрипт - цикл проверки активности окна Блокнота ?
То есть - если окно Блокнота активно, то Калькулятор поверх всех окон, если нет, то Калькулятор теряет свойство поверх окон.
Код:
Local $hW1 = WinGetHandle('14 — Блокнот')
Local $hW2 = WinGetHandle('Калькулятор')
Local $gp1 = WinGetPos($hW1)
Local $gp2 = WinGetPos($hW2)
Local $tX = $gp1[0], $tY = $gp1[1]
WinMove($hW2, '', $tX, $tY)
WinSetOnTop($hW2, '', 1)
Local $wtop
While 1
    $gp1 = WinGetPos($hW1)
    If Not @error Then
        If $tX <> $gp1[0] Or $tY <> $gp1[1] Then
            $tX = $gp1[0]
            $tY = $gp1[1]
            WinMove($hW2, '', $tX, $tY)
        EndIf
    EndIf
    Sleep(10)
WEnd
 
A

Alofa

Гость
OffTopic:
lixar21
Если не секрет, а что это вообще будет такое?
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Попробуйте добавить в бесконечный цикл это :
Код:
If WinActive($hW1) Then
		WinSetOnTop($hW2, '', 1)
	Else
		WinSetOnTop($hW2, '', 0)
	EndIf
 
Автор
L

lixar21

Новичок
Сообщения
70
Репутация
0
ra4o , большое спасибо за ответ.


Добавлено:
Сообщение автоматически объединено:

Alofa , что это такое будет?
Да обычное прикрепление одного окна программы к другому окну.
Так вроде удобно - в блокноте вводишь какой-то текст, и тут же в калькуляторе считаешь.
 
Верх