Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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-сайт: hw.t-k.ru
 Профиль | | #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-сайт: hw.t-k.ru
 Профиль | | #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
Ну хотябы всем сказать спасибо
СПАСИБО ребята, очень полезный был обмен

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам