Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
8 / 8 / 3
Регистрация: 01.03.2013
Сообщений: 85

Как поместить приложение в трэй?

22.03.2013, 16:17. Показов 1581. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть некое приложение, которое должно работать постоянно, но отображение самого окна требуется очень редко, да и само окно хотелось бы организовать в виде всплывающего меню. И вот я задался целью засунуть его в в трэй, чтобы болталось оно где-нибудь рядом со значком антивируса и всего прочего. Но вот уже второй день, как я пытаюсь разобраться, но в голове только каша. Может кто-нибудь подскажет, где можно найти хорошо документированный пример для чайников такого рода?

Всем заранее спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.03.2013, 16:17
Ответы с готовыми решениями:

Как сделать чтобы приложение при закрытии уходило в трэй?
Как сделать чтобы приложение WinForms при закрытии уходило в трэй. Делаю Hardware Monitor и необходима такая функция.

Как поместить в трей консольное приложение
Доброго времени суток. Как запихнуть в трей консольное приложение?

Как в приложение поместить формат wmv
Как в приложение поместить формат wmv? И чтобы можно было воспроизводить ?

3
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
22.03.2013, 16:34
Там документировать-то нечего. Пример был тут: Как скрыть приложение в системный лоток (System Tray)
1
Невнимательный
 Аватар для ft4l
3112 / 1291 / 359
Регистрация: 08.02.2013
Сообщений: 7,566
Записей в блоге: 2
22.03.2013, 19:29
Есть там, какие-то хитрости...
Там где-то в msdn есть по поводу того что надо воссоздавать Tray icon после перезапуска explorer
что-то насчёт TaskbarCreated
не смог найти ссылку, примерно такое где-то у себя добавлял по этим причинам

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
//{ объявление переменных
    static NOTIFYICONDATA       nid;
    static UINT s_uTaskbarRestart;
//}
 
    if (message == s_uTaskbarRestart) {
_n_icon:
        nid.hWnd = hwnd;
        nid.hIcon = hIcon;
        Shell_NotifyIcon(NIM_ADD, &nid);
    // здесь куча AppendMenu()
        return 0;
    }
 
switch(message)
{
 
case WM_CREATE: // перед созданием окна
    nid.cbSize=sizeof(NOTIFYICONDATA);
    nid.uID=ID_TRAY;
    nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP;
    nid.uCallbackMessage=WM_SHELLNOTIFY;
    lstrcpy(nid.szTip, TEXT("............."));
    //    nid->dwState=0;
        s_uTaskbarRestart = RegisterWindowMessage(TEXT("TaskbarCreated"));
    goto _n_icon;
/*
.........................
*/
case WM_DESTROY:
DESTROY:
    // .........................
    Shell_NotifyIcon(NIM_DELETE, &nid);
    PostQuitMessage(0);
    return (message ==  WM_QUERYENDSESSION) ? 1:0;
}
}
Добавлено через 9 минут
забыл добавить case WM_QUERYENDSESSION: перед case WM_DESTROY:
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
22.03.2013, 20:10
Цитата Сообщение от ft4l Посмотреть сообщение
Там где-то в msdn есть по поводу того что надо воссоздавать Tray icon после перезапуска explorer
Вот тут: Taskbar Creation Notification
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2013, 20:10
Помогаю со студенческими работами здесь

Консольный инсталлер: как поместить приложение в ресурсы
Ребят хочу создать консольный инсталлер для моего приложения Но как мне запихнуть приложение в него и как сделать чтобы он его...

Как узнать имя пользователя, запустившего приложение и поместить его в переменную?
Подскажите как узнать имя пользователя, который запустил приложение и в переменную какого типа лучше поместить это имя?

Программу в трэй
Нужен пример что бы я мог сверунть свою программу в трэй

Автозагрузка и трэй
Подскажите пожалуйста... Что написать в программе на Делфи, чтоб при загрузке винды моя прога загружалась автоматичести и сворачивалась в...

Можно ли dos приложение поместить на форму
собственно возможно ли это? к кому можно обратиться? где можно найти подробное описание как это осуществить?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru