Всем привет!
Есть аптечная программа, в которой можно открыть окна. Так же можно открыть ещё одну копию программы, в которой можно открывать ещё окна.
Программа написана кривовато, поэтому если от начального окна уйти на 3-ее и далее, то потом очень проблематично вернуться на него.
Как выход можно было бы написать программу, которая выводила бы на передний план нужное окно.
Подскажите как лучше определить нужное окно и вывести его на передний план?
Определить окна по процессу нельзя, так как процессов может быть несколько. По заголовку можно, но в какой-то момент заголовков может оказаться несколько с одним именем.
По сути получается надо сделать свой "Alt+Tab" (переключение между окнами), со всеми окнами.
P.S.
Прошу не сделать за меня программу, а подсказать как лучше и с помощью чего.
Спасибо.
Пока нашёл такое:
Есть аптечная программа, в которой можно открыть окна. Так же можно открыть ещё одну копию программы, в которой можно открывать ещё окна.
Программа написана кривовато, поэтому если от начального окна уйти на 3-ее и далее, то потом очень проблематично вернуться на него.
Как выход можно было бы написать программу, которая выводила бы на передний план нужное окно.
Подскажите как лучше определить нужное окно и вывести его на передний план?
Определить окна по процессу нельзя, так как процессов может быть несколько. По заголовку можно, но в какой-то момент заголовков может оказаться несколько с одним именем.
По сути получается надо сделать свой "Alt+Tab" (переключение между окнами), со всеми окнами.
P.S.
Прошу не сделать за меня программу, а подсказать как лучше и с помощью чего.
Спасибо.
Пока нашёл такое:
Код:
$var = WinList()
For $i = 1 to $var[0][0]
; Only display visble windows that have a title
If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then
MsgBox(0, "Details", "Title=" & $var[$i][0] & @LF & "Handle=" & $var[$i][1])
EndIf
Next
Func IsVisible($handle)
If BitAnd( WinGetState($handle), 2 ) Then
Return 1
Else
Return 0
EndIf
EndFunc