Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2013, 18:08   #1
Merano
Пользователь
 
Регистрация: 30.07.2012
Сообщений: 32
По умолчанию Свернуть другую программу

Здравствуйте.
Как можно "правильно" свернуть другую программу (которая написана на delphi) на панель задач?
Проблема в том, что не удается свернуть программы (написанные на delphi) на панель задач, вместо этого они сворачиваются в мини окно над кнопкой "Пуск", тогда как с остальными программами все в порядке.
Сворачиваю окна программ таким методом:

Код:
...
var
 winh: HWND;
begin
 hwin := GetForegroundWindow;
...
 ShowWindow(hwin, 2);
end;
...
В чем причина? И как это можно исправить/обойти?
Merano вне форума Ответить с цитированием
Старый 05.02.2013, 22:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

QUOTE]ShowWindow(hwin, 2);[/QUOTE]
Как мнимум ShowWindow(GetParent(hwin), 2);
Но это не выход. Нужно искать главное окно процесса
EnumWindows или FindWindow поможет в этом. Только главное окно свернется корректно. Все те, которые созданы как дочерние так и будут сворачиваться в маленькую полоску внизу экрана.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.02.2013, 07:36   #3
Merano
Пользователь
 
Регистрация: 30.07.2012
Сообщений: 32
По умолчанию

Stilet, дело в том, что те окна, что я сворачиваю - и являются главными окнами... вот в чем проблема.

UPD:
Да, действительно, если обратиться к главному окну программы, написанной на delphi, то она сворачивается корректно. Получается, что Delphi каким-то образом создает "фоновое" родительское окно, а все остальные (включая Form1) - являются дочерними? О_о

Последний раз редактировалось Merano; 06.02.2013 в 08:15.
Merano вне форума Ответить с цитированием
Старый 06.02.2013, 09:32   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
Получается, что Delphi каким-то образом создает "фоновое" родительское окно, а все остальные (включая Form1) - являются дочерними? О_о Получается, что Delphi каким-то образом создает "фоновое" родительское окно, а все остальные (включая Form1) - являются дочерними? О_о
для кругозора
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 06.02.2013, 10:40   #5
Merano
Пользователь
 
Регистрация: 30.07.2012
Сообщений: 32
По умолчанию

evg_m, спасибо за статью. Все прояснилось, на счет Delphi.
Merano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как свернуть программу в трей? KING_t.r.b.e. Общие вопросы C/C++ 1 30.11.2010 18:06
как свернуть программу к часикам? Илюха Общие вопросы Delphi 8 28.11.2010 23:24
Свернуть чужую программу в трей grafgrial Общие вопросы Delphi 6 18.06.2010 19:27
как свернуть программу в трэй Izlom Помощь студентам 3 16.05.2010 08:21
Как свернуть программу в трей !!! Football_lady Общие вопросы Delphi 1 06.02.2010 19:46