Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

WinCity.Ru _ Программирование _ Программирую в Delhpi

Автор: lionet Понедельник, 18 Марта 2002, 14:14

Очень интересны команды для управления другими приложениями из своего софта, например запуск, закрытие или свертывание(это уже знаю), может быть кто-нибудь знает системные команды для помещения свернутой программы в системную область (где часы).
Заранее благодарен за помощь.

--------------------
Сложные вещи становятся простыми, если их понять

Автор: Admin Вторник, 19 Марта 2002, 12:04

Точно утверждать ничего не буду, так как нужно сначала попробовать, но идея вот какая:
Нужно использовать WIN32 API.
Для начала, нужно получить описатель окна приложения, которое ты хочешь скрыть (handle) типа HWND. Сделать это можно, например, при помощи функции FindWindow();
Для помещения иконки в системную область, используй функцию Shell_NotifyIcon(). Она имеет 2 параметра:
1-ый - идентификатор сообщения, которое посылается системе для того, чтобы добавить, удалить или изменить иконку в трейе (системной области). Он может принимать соответственно значения: NIM_ADD, NIM_DELETE и NIM_MODIFY.
2-ой - указатель на структуру NOTIFYICONDATA (в дельфи, кажется она имеет тип TNotifyIconData), содержание которой зависит от значения первого параметра. Точно поля структуры не помню, посмотри хелп по ней, но там как-раз используется этот HWND.
После некоторой практике у тебя получится поместить иконку в трей. Сначала попробуй на своем приложении (описатель окна можно получить через form1.handle), а потом возьмись за другие.
И еще после того, как иконка появляется в трейе, главное окто можно скрыть. для этого можно воспользоваться функцией ShowWindow(). Ее параметры - описатель окна (HWND) и значение состояния окна (чтобы скрыть - SW_HIDE, чтобы показать SW_SHOW, остальные смотри в хелпе).
А вообще, почитай раздел помощи по win32, там много полезного имеется

Автор: lionet Четверг, 21 Марта 2002, 9:19

Большое спасибо за совет! Обязательно попробую реализовать в ближайшее время. Если получится опишу подробно, может еще кому понадобится.

------------------
Сложные вещи становятся простыми, если их понять

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