Как программно активизировать окно Фар

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
Shmuel
Posts: 5517
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 21 times
Been thanked: 179 times

Как программно активизировать окно Фар

Post by Shmuel » Fri 06 Apr, 2018 11:22

Вызываю из плагина ShellExecute(), чтобы запустить GUI-аппликацию, появляется окно этой аппликации, окно Фар теряет фокус.
Как программно вернуть фокус окну Фара после запуска аппликации?
Пробовал ShowWindow(), SetForegroundWindow() - не помогает. Возможно из-за того, что Фар - консольная программа.
Кто-нибудь поделится рецептом?

User avatar
DrKnS
Posts: 4914
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 161 times

Как программно активизировать окно Фар

Post by DrKnS » Fri 06 Apr, 2018 11:40

Список задач, который по Ctrl+W, вроде бы вполне переключает на другие копии far.

User avatar
HaRT
Moderator
Posts: 8468
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 74 times
Been thanked: 135 times

Как программно активизировать окно Фар

Post by HaRT » Fri 06 Apr, 2018 11:47

Shmuel, пробовали в ShellExecute для параметра nShowCmd сразу передать SW_SHOWNOACTIVATE?
MSDN wrote:SW_SHOWNOACTIVATE (4)

Displays a window in its most recent size and position. The active window remains active.
У меня для запуска из GUI-приложения отработало ожидаемо.
13:57 MSK Из консольного тоже.
Last edited by HaRT on Fri 06 Apr, 2018 11:57, edited 1 time in total.
Reason: Добавлена строка про консольное приложение
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5517
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 21 times
Been thanked: 179 times

Как программно активизировать окно Фар

Post by Shmuel » Fri 06 Apr, 2018 11:58

Большое спасибо обоим ответившим. Рецепт от HaRT было легче проверить - это то, что надо.
Рецепт от DrKnS скорее всего тоже подошёл бы, но уже не проверял.

Post Reply

Return to “Разработка плагинов”