Страница: 1 |
Страница: 1 |
Вопрос: Как програмно закрыть иконку в трее по окончании п
Добавлено: 16.03.05 17:29
Автор вопроса: VladeD
Да, как програмно закрыть иконку в трее по окончании программы... она висит пока мимо не пройдет мышка.
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 16.03.05 17:59
Точно так же, как добавлял, только NIM_DELETE вместо NIM_ADD.
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 16.03.05 20:22
И сделать это надо в событии (Query)Unload у формы...
Номер ответа: 3
Автор ответа:
VladeD
Вопросов: 8
Ответов: 40
Профиль | | #3
Добавлено: 17.03.05 07:18
Так все это есть! Т.е. стоит все как надо!
А эффект откуда???
Номер ответа: 4
Автор ответа:
VladeD
Вопросов: 8
Ответов: 40
Профиль | | #4
Добавлено: 17.03.05 07:32
ВОТ, что бы лишних вопросов и сомнений не было:
Этот код, естессственно с форумов гдето-взят.
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
' We also need to remove it when the program
' is ended.
' Change theForm's cbSize to theForm's length.
theForm.cbSize = Len(theForm)
' Change theForm's hWnd to picNotifier's hWnd.
theForm.hWnd = picNotifier.hWnd
' Change theForm's uId to 1&.
theForm.uId = 1&
' Remove it from the TaskBar.
Shell_NotifyIcon NIM_DELETE, theForm
End
End Sub
Номер ответа: 5
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #5
Добавлено: 17.03.05 09:29
Заканчивать VB-шную прогу по End - это довольно жестоко и во многих случаях неправильно... лучше его заменить на Unload Me. Вдруг поможет
Номер ответа: 6
Автор ответа:
VladeD
Вопросов: 8
Ответов: 40
Профиль | | #6
Добавлено: 17.03.05 09:52
Заменил, однако ионка в трее "висит собака" ????
Номер ответа: 7
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #7
Добавлено: 17.03.05 17:56
Найди хэндл трея и (после NIM_DELETE) сделай ему "рефреш" через RedrawWindow. Авось поможет...
Номер ответа: 8
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #8
Добавлено: 17.03.05 21:10
Ну это уже навряд-ли, т.к. если бы винда глючила - это распространялось бы на все... А тут только на его программу...
Проверь, действительно-ли тот код что ты написал выполняется Может у тя где-нить еще End стоит...
И вообще, посмотри примеры коих уйма - удаляют-ли они иконку из трэя ?
Номер ответа: 9
Автор ответа:
VladeD
Вопросов: 8
Ответов: 40
Профиль | | #9
Добавлено: 18.03.05 08:15
sne Спасибо за идею
>>>...действительно-ли тот код что ты написал выполняется
Вопрос был из-за того, что небыло обработки нажатия на х формы, т.е. не обрабатывался код в Unload or QueryUnload. Форма вызывалась из основного окна("второстепенное окно", а не самостоятельна(ое)! И после работы в ней (отладки) я таким образом заканчивал работу. Выходил из программы.
А отсутствие обработки и вся программа вылетала (а мне казалось, что это я сам вышел из программы)
А когда я выход из формы обработал как вызов основного окна, а там нажал ВЫХОД из программы о он обрабатыватся в Shell_NotifyIcon
Теперь все ОК!!!
Всем спасибо и наука мне, в первую очередь
Номер ответа: 10
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #10
Добавлено: 18.03.05 13:55
Может я не в тему, но выскажусь. Когда у меня была проблема закрыть иконку (при выходе из приложения через меню иконки в трее) со стандартными исходниками systray, идущими с VB, приходилось в form_unload вызывать свою Private процедуру, в которой производилась выгрузка иконки. Иначе программа вылетала с ошибкой.
Номер ответа: 11
Автор ответа:
VladeD
Вопросов: 8
Ответов: 40
Профиль | | #11
Добавлено: 18.03.05 14:59
LamerOnLine
Посмотри, я выше выложил рабочий код для Form Unload. Могу поспорить, что он нормальный, только удали из него End.
Здесь правильно подсказали...это что бы "хвосты" не оставлять в памяти.
А как и почему я обмишурился вы уже читали ::))
Номер ответа: 12
Автор ответа:
ZeroX
ICQ: 220401330
Вопросов: 47
Ответов: 406
Профиль | | #12
Добавлено: 18.03.05 23:50
http://www.kolaar.net/download.php?file=sources/tray11.zip&pid=20&type=src
Вот тебе исходник моего компонента Tray ActiveX Control 1.1
Юзай на здоровье
Номер ответа: 13
Автор ответа:
VladeD
Вопросов: 8
Ответов: 40
Профиль | | #13
Добавлено: 24.03.05 10:12
Ну хотябы всем сказать спасибо
СПАСИБО ребята, очень полезный был обмен