Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];

Вниз

Взаимодействие сервиса NT с System Tray   Найти похожие ветки 

 
zxss   (2003-02-20 08:42) [0]

Доброго утра. Вопросик.

Имеется программа-почтовый сервер, написанная на Delphi. Программа выполнена в виде многопоточного сервиса NT. Работает под Win2000 Server. В программе имеется процедура помещения иконки программы в Tray и удаления ее оттуда. Через иконку вызывается окно настроек сервера. Но когда сервис стартует при загрузке ОС, в самой ОС пользователь еще не зарегистрирован, рабочего стола и панели задач еще нет. Как, собственно, и Tray-а. Поэтому в момент старта сервиса поместить иконку некуда. Значит ее надо помещать туда в момент после регистрации пользователя.

Вопрос: как можно внутри сервиса получить от Windows информацию о локальной регистрации (Logon) пользователя и появлении Tray-а. И по завершении сеанса работы пользователя (Logout) каким образом получить сообщение о необходимости убрать иконку?

Если с помощью сообщений Windows, то каких именно. Хотя даже в этом случае остается вопрос как их принять, ведь сервис не имеет окна программы, и, соответственно, не имеет оконной процедуры принятия сообщений.


С уважением, Евгений.


 
Ruf   (2003-02-20 12:38) [1]

Попробуй найти Tray так:

h:=FindWindow("Shell_TrayWnd",nil);
Если h>0, то Tray есть.


 
zxss   (2003-02-20 14:00) [2]

Это лишь частичное решение, т.к. чтобы показывать/скрывать иконку мне придется в таймере постоянно опрашивать эту функцию. Т.е. это вроде и решение, но некрасивое какое-то :).



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.009 c
3-44066
exciter_
2003-03-26 14:27
2003.04.14
Обращение из процедуры в другую базу


6-44312
officeman
2003-02-22 18:44
2003.04.14
Как получить URL из своего Броузера


1-44200
sergey32
2003-04-01 15:01
2003.04.14
Динамическое меню


1-44261
RoadStar
2003-04-02 14:31
2003.04.14
Сигнализация выхода из приложения


1-44250
maxi
2003-04-02 10:29
2003.04.14
Глючит MultiSelect в TListBox. Как исправить ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский