Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

WM_SYSCOMMAND [D6, WinXP]


Дубинин Алексей ©   (2003-11-13 22:41:00) 

SendMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0); Таким образом можно заставить некое приложение свернуться в трей. А если оно не хочет сворачиваться, хотя должно. Каким образом еще можно заставить.
Т.е. например, можно для закрытие приложения использовать SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, 0);, а можно TerminateProcess();
Заранее спасибо.


Иван Шихалев   (2003-11-16 12:44:00) [1]

> Я конечно понимаю, что посылаю его дочернему окну,
> ведь это MDI-приложение...

Понимаешь? Вот и славненько. Есть такая функция - GetParent()- последовательным ее применением можно найти окно приложения...


Дубинин Алексей   (2003-11-14 22:50:00) [2]

Короче поясния всем сразу. Код приводить...странно...привел в самом начале... sendMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0); И ошибок то как раз нету... Получается так, что в Word-е щелкаю на область где пишут текст и он не сворачивается. Пишу ShowWindow(Handle, SW_MINIMIZE); Ураа!! свернулся...ага...а другие программы только на панель задач. Почему я должен их сворачивать в трей. Ничего подобного...они сами обрабатывают сообщения. По идее все правильно...посылаю WM_MINIMIZE программа ловит это сообщение и обрабатывает как ему надо. В частности с MyIE. Но вот Word-у посылаю, он не хочет. Я конечно понимаю, что посылаю его дочернему окну, ведь это MDI-приложение... Отсюда следует мой вопрос...как же мне свертывать такие приложения.
Заранее спасибо.


DVM   (2003-11-14 16:49:00) [3]

Еще можно ShowWindowAsync();

> а MyIE не стал сворачиваться в трей, только на панель задач.
> Ёлки палки...

Чтобы он сворачивался, как Вы говорите в "трей", окно надо не сворачивать, а прятать и еще кто-то (ваша программа) должен поместить иконку в область уведомлений. Просто так свернуть программу в "трей" нельзя. Нет таких функций.


Prov   (2003-11-14 10:32:00) [4]

Не угодило ему и всё тут... У меня к стати, тоже такое было, посему я использовал ShowWindow


DillerXX   (2003-11-14 10:04:00) [5]

Что-то не понял, чем тебе SendMessage неугодило?


Игорь Шевченко   (2003-11-14 00:41:00) [6]

Дубинин Алексей © (13.11.03 23:18)

Люди, которые хотят, чтобы им помогли, приводят код, который у них не работает. Отвечающих тоже надо уважать.


Prov   (2003-11-13 23:39:00) [7]

Дык в чём же ещё трабл то ? Чего-то я не пойму.... Что не получается ?


Дубинин Алексей   (2003-11-13 23:18:00) [8]

Ну вот. Теперь Word сворачивается как надо, а MyIE не стал сворачиваться в трей, только на панель задач. Ёлки палки...


Prov   (2003-11-13 23:07:00) [9]

хе-хе... А вот так не хочешь ?::: ShowWindow(WD, SW_MINIMIZE);
Я писал свой диспетчер задач, и успешно сворачивал окна так..


Дубинин Алексей   (2003-11-13 22:48:00) [10]

Ну да, точно. Я так и хотел сказать. Извиняюсь. Даже стыдно как то. Ну да ладно, бывает.
Что надо, подробнее: Да вот как можно все таки свернуть окно на панель задач не используя SendMessage?


Prov   (2003-11-13 22:42:00) [11]

Оно по твоей команде не свораыивается в трэй, а свораивается на панель задач... Что надо поподробнее...


Наверх

Титульная страница Поиск, карта сайта Написать письмо