Приложение в ТРЕЕ
Т.е. вопрос состоит в следующем. Как при работе в трее выгрузить все то , что относится к графической оболочке и не используется, а в случаи необходимости загрузить это в память?
Буду благодарен за пример.
Народ, возникла проблема. Необходимо сделать приложение, у которого основной режим работы в трее, но необходимо просиатривать состояние приложение через окно. Может кто подскажет как это сделать?
Т.е. вопрос состоит в следующем. Как при работе в трее выгрузить все то , что относится к графической оболочке и не используется, а в случаи необходимости загрузить это в память?
Буду благодарен за пример.
Создаешь консольное приложение, но при создании ставишь галочку Use VCL. Получаешь чистую WinMain. Помещаешь в Tray иконку средствами WinAPI, далее добавляешь в проект форму. При обработке какого-либо сообщения от иконки в Tray (например двойной клик) создаешь форму через new, а при закрытии формы делаешь ее Free() - вот и все
Создаешь консольное приложение, но при создании ставишь галочку Use VCL. Получаешь чистую WinMain. Помещаешь в Tray иконку средствами WinAPI, далее добавляешь в проект форму. При обработке какого-либо сообщения от иконки в Tray (например двойной клик) создаешь форму через new, а при закрытии формы делаешь ее Free() - вот и все
Да, но когда прога висит в треи в ней будет висеть описание окна и все такое. В принципе возможно, но хотелось бы минимизировать задействование памяти, т.к. программа большая и памяти сама по себе сжирает много.
Да, но когда прога висит в треи в ней будет висеть описание окна и все такое. В принципе возможно, но хотелось бы минимизировать задействование памяти, т.к. программа большая и памяти сама по себе сжирает много.
Что ты подразумеваешь под словами "описание окна"?
Описание окна это не более чем последовательность вызовов функций для того, чтобы окно создать. Нельза создать окно не вызвав функций. При уничтожении окна освобождается память из-под него но остаются функции его создавшие. Если тебе и функций не надо - помести окно в DLL и динамически загружай ее, когда надо показать окно. Потом делай FreeLibrary после закрытия окна - функции из памяти уберутся. Как такой вариант? Другого, по-моему, нет...