Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.14;
Скачать: CL | DM;

Вниз

Взаимодействие сервиса 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-44199
odyssey
2003-04-01 16:57
2003.04.14
DateTimePicker


9-43978
Dankin
2002-11-12 01:42
2003.04.14
Как создать dll с картинками.


6-44315
NikolaB
2003-02-23 01:29
2003.04.14
Web Server and IsapiDLL (izvinite, chto vopros dlinii!)


1-44092
waw
2003-04-02 14:55
2003.04.14
Не правильно считается итого в QReport с условным подсчетом


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