Здравствуйте!
Имеется программа, которая запускается в качестве службы. В настройках данной службы установлена опция "Взаимодействовать с рабочим столом".
Эта служба при старте создает дочерний процесс - запускает Win32 приложение которое имеет свой пользовательский интерфейс (т.е взаимодействует с рабочим столом). Запускаемая программа написана на WinAPI. При вызове одного из диалогов, в нем динамически формируется ToolBar. Само наличие тулбара прописано в файле ресурсов для диалоговой формы. Но содержимое тулбара динамически формируется при создании (выводе) формы диалога. Выполняется это с помощью сообщений:
SendDlgItemMessage(hwndDlg,IDC_DATAVIEW_TOOLBAR,TB_BUTTONSTRUCTSIZE,sizeof(TBBUTTON),0);
SendDlgItemMessage(hwndDlg,IDC_DATAVIEW_TOOLBAR,TB_ADDBUTTONS,(WPARAM)KolToolbarButtons,(LPARAM)ToolbarButtons);
где KolToolbarButtons - количество элементов в массиве ToolbarButtons.
Все хорошо работает до тех пор пока не производен logoff/logon. Причем logon может быть как и под того же, так и другого пользователя.
После операции logoff/logon при вызове того же диалогового окна тулбарные кнопки могут исчезнуть (т.е не сформироваться при вызове двух указанных ранее сообщений). Причем этот глюк может проявиться, а может и не проявиться. Но однозначно установлено, что глюк этот может проявлятся только после операции logoff/logon.
Подскажите, посоветуйте, что бы это могло быть ? Может кто-то уже сталкивался с подобным поведением ?
P.S: OC Windows XP