Здравствуйте, Toughpheeckouse, Вы писали:
T>Здравствуйте, .Mistery, Вы писали:
M>>Здравствуйте, Vladimir_the_Red_Sunny, Вы писали:
V__>>>Появляется диалог логона. Если не логиниться, и вообще его не трогать, то через две минуты он исчезает сам, а комп "зависает"? В этом проблема? А WlxDisplaySASNotice пустая у Вас?
M>>Она не должна быть пустая, в ней как раз то и должен выводится диалог логина юзера.
T>не согласен. там должно показхываться приведствие (или быть пустой), а logon dialog должен показываться в WlxLoggedOutSAS.
Наверное мы не так друг друга поняли или обьяснили друг другу неправильно. Да если речь идет именно о диалоги логина юзера то конечно мы должны его вывести после получения SAS, например CTRL-ALT-DEL
MSDN:
The WlxLoggedOutSAS Winlogon calls this function when it receives an SAS event while no user is logged on.
У меня просто сделано немного не так. В WlxDisplaySASNotice проходит весь цикл жизни всех диалогов, после долгих эксперементов это оказалось разумным.
MSDN:
The WlxDisplaySASNotice Winlogon calls this function when no user is logged on.
Потому как, а что делать если есть заставка winlogon, и пока еще WlxLoggedOutSAS не сработал, а user захотел выключить комп или перезагрузить? Или тебе нужно среагировать на какие либо события WM_DEVICECHANGE например и проверить какой нибудь девайс, например SMARTCARD или еще чего нибудь. Как ты это обработаешь? А у меня это работает так. В WlxDisplaySASNotice работает DUMMY диалог у которого есть только кнопка выключения, через которую можно вызвать диалог с тремя кнопками (Stand BY, Restart, Shutdown). Выглядит это так ка у MS GINA при загрузке компа, внизу кнопочка выключения. А так же при данном подходе у тебя работает message loop в котором ты ловишь все event которые тебе нужны, такие например как WM_DEVICECHANGE и т.д. В итоге получаешь более гибкий контроль. И диалог логина юзера уже запускается и message loop этого dummy диалога.
M>>Если в WlxScreenSaverNotify вернуть FALSE то никаких засыпаний не будет.
T>так и есть.
M>>WlxDisplayStatusMessage, возвращаем FALSE и winlogon знает что никаких messages небыло отображено.
T>и так тоже.
M>>Они не должны быть пустые, т.е. хотябы TRUE или FALSE они должны возвращать. И запихивать туда диалоги вовсе не обязательно.
T>+1... << RSDN@Home 1.1.3 beta 1 >>