Главная страница
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.049 c
14-1082441697
Vlad Oshin
2004-04-20 10:14
2004.04.11
Делаю книгу. Как сделать лучше?


1-1080197934
IceMaster
2004-03-25 09:58
2004.04.11
Как в фотошопе


3-1079195233
Anarki
2004-03-13 19:27
2004.04.11
Как узнать значение N-го столбца выделенного ряда в DBGrid?


1-1079966305
Aleksandr
2004-03-22 17:38
2004.04.11
При создании своего компонента ругается на его размеры


7-1075452034
sergwolf
2004-01-30 11:40
2004.04.11
Как сделать что бы дескету автоматом проверяла на вирусы?