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

Вниз

Как из сервиса определить залогинился юзер или нет?   Найти похожие ветки 

 
neodiX ©   (2004-03-25 10:48) [0]

Есть winnt сервис, как определить юзер залогинился или все еще показывается окно winlogon?


 
neodiX ©   (2004-03-25 13:11) [1]

я тут думаю может в registry в ветке HKEY_CURRENT_USER есть какой признак?


 
BiN ©   (2004-03-25 13:17) [2]

ага, называется ...\windows\currentversion\run


 
neodiX ©   (2004-03-25 13:26) [3]

2 BiN:
ты хочешь сказать что в  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run чего то нехватает если юзер незалогинин? У меня тут тока winreg.exe есть...


 
BiN ©   (2004-03-25 13:57) [4]

ты хочешь сказать ....
нет, просто эта ветка для того и существует, чтобы запускать программы при входе пользователя.
А из сервиса отловить логон можно, наверно, только перехватом, по-крайней мере не помню никакого стагдартного способа... Узнать же сам факт существования пользовательской сессии можно по условию, сущ-ет ли в Winsta0 в дан. момент десктоп с именем, отличным от "Winlogon".


 
neodiX ©   (2004-03-25 14:09) [5]

В том то и дело что я проверяю какой десктоп существует с  opendesktop, switchdesktop. Но для того что бы провертить есть ли десктоп default или нет, надо юзать switchdesktop, и здесь происходит самое главное:
после загрузки компьютера показывается winlogon окно, я проверяю есть ли default desktop с помощью opendesktop, switchdesktop (смотри мой пост http://delphimaster.net/view/7-1079991197/), так вот, окна то ясно что нет, но как только я использую switchdesktop для этой проверки - winlogon окно исчезает! Поэтому мне и нужна другая альтернатива опредиления залогинился юзер или нет.
Я выделил "после загрузки компьютера" т.к если я сам вызываю winlogon окно с уже какого то десктопа (default) то все ОК.


 
neodiX ©   (2004-03-25 14:11) [6]

и еще:
>А из сервиса отловить логон можно, наверно.....
мне не надо отлавливать, тока факт нужен существования пользовательской сессии


 
BiN ©   (2004-03-25 14:26) [7]

для того что бы провертить есть ли десктоп default или нет, надо юзать switchdesktop
в той теме тебе конкретно ответили на твой вопрос, как узнать факт заблокирования компьютера.
Чтобы узнать о существовании десктопа default, можно пользоваться и EnumDesktops. Ты бы сам определился, что именно тебе надо?


 
neodiX ©   (2004-03-25 14:36) [8]

я точно определился что мне надо:
надо узнать есть ли десктоп default не используя функцию switchdesktop
тот вариант который мне предложили работает прекрасно, если окно winlogon вызывается уже с какого то десктопа, т.е. после логона. Если же winlogon окно появилось после рестарта или после запуска компа, то никакого default десктопа нет и быть не может и поэтому при использовании switchdesktop("default....) winlogon окно просто исчезает, т.е. имхо пробует переключится на десктоп дефаулт которого нет.

а EnumDesktops эт может идея! просто просмотреть все дестопы.. сейчас проверю...


 
neodiX ©   (2004-03-25 17:48) [9]

странно но используя OpenWindowStation и EnumDesktops, EnumDesktops всегда возвращает два десктопа: winlogon и default, независимо от того locked, logged out или после рестарта комп...  
есть еще какие идеи?


 
neodiX ©   (2004-03-25 18:23) [10]

Teма закрыта.
Спасибо И.Шевченко.



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

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.045 c
3-1079008357
Uran
2004-03-11 15:32
2004.04.11
Как извлечь данные из интербейсовской базы данных?


1-1080123367
аппельсин
2004-03-24 13:16
2004.04.11
запрос к дереву


1-1082450584
Романов Р.В.
2004-04-20 12:43
2004.04.11
Организовать последовательное выполнение приложений


3-1078931138
Goida
2004-03-10 18:05
2004.04.11
Выборка в выборке


14-1082474570
Бывающий
2004-04-20 19:22
2004.04.11
Народ где бы надыбить QuickReport 4.03 для C++ Builder 5.0