Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Переключение между задачами


Автор: Romero 11.11.2005, 12:53
Необходимо вывести вперед окно, зная handle его процесса. Пробовал SetForegroundWindow - не разворачивает окно, если оно было MINIMIZED. А использование ShowWindow с любыми параметрами "портит" состояния MAXIMIZED или RESTORED (из одного в другое переводит в лучшем случае). Как сделать переключение на то же состояние окна, как по Alt+Tab?

Автор: Romikgy 11.11.2005, 12:59
Код

Application.Restore; 
 SetForeGroundWindow(Application.MainForm.Handle); 


Автор: Romero 11.11.2005, 13:34
В этом случае если окно было максимизировано, оно "восстановится" (уменьшится) прежде, чем покажется. Не канает.

Автор: _hunter 11.11.2005, 14:36
не совсем понятно что значит "портит состояние". но если оно портится, что мешает сохранить его перед переключением?

Автор: Romero 11.11.2005, 15:17
Предлагаешь сделать через GetWindowPlacement и SetWindowPlacement???

Попроще способа нет разве на такую востребованную функцию?

Автор: _hunter 11.11.2005, 15:44
кем востребованную? ;)
да и не супер-пупер сложный этот способ...

Автор: Демо 11.11.2005, 20:03
http://forum.vingrad.ru/index.php?showtopic=69878

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)