Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как из сервиса узнать имя текущего пользователя [D7, WinXP]


Russ ©   (2006-07-17 10:26:00) 

собственно вопрос в теме


isasa   (2006-07-26 11:08:00) [1]

Eraser ©   (25.07.06 22:42) [16]
Тут другое, SERVICE_CONTROL_SESSIONCHANGE для w2k не поддерживается.


Eraser   (2006-07-25 22:42:00) [2]

> [15] tesseract ©   (25.07.06 21:46)

хм.. а как NWclient влияет на имя текущего юзера? ..

да и автор по NW ничего и не упоминал :o)


tesseract   (2006-07-25 21:46:00) [3]

> [14] Eraser ©   (25.07.06 18:06)


А ежели NWclient стоит - с ним  не все трюки проходят :-)


Eraser   (2006-07-25 18:06:00) [4]

> [13] tesseract ©   (25.07.06 17:21)


> А как ловить логин пользователя - это msgina.

зачем же сразу gina, можно winlogon notification packages (которые, к сожалению в WinVista отменили), либо обработка SERVICE_CONTROL_SESSIONCHANGE (для сервисов).


tesseract   (2006-07-25 17:21:00) [5]


>  а сервис загружается раньше и надо ещё отловить момент
> после загрузке сервиса, когда уже можно использовать ГетЮзерНэйм.
>


Ну тогда ответ в [6] .

А как ловить логин пользователя - это msgina.


Levin_610   (2006-07-25 16:54:00) [6]

они-то работуют, только естественно после того, как пользователь зайдёт в виндоус, а сервис загружается раньше и надо ещё отловить момент после загрузке сервиса, когда уже можно использовать ГетЮзерНэйм.


tesseract   (2006-07-25 15:46:00) [7]

А GetUserName(ex) или GetUserAuthData (2k+) из сервиса не сработают?


Levin_610   (2006-07-25 14:14:00) [8]

Russ можешь выложить, как ты с этим разобрался, если не трудно и также если вдруг появишься ещё тут)


Eraser   (2006-07-17 13:30:00) [9]

> Russ   (17.07.06 10:26)

WTSGetActiveConsoleSessionId + WTSQuerySessionInformation с параметром WTSUserName.


Чапаев   (2006-07-17 12:11:00) [10]


> шутить изволите

Ничуть. Просто твой вопрос для XP, 2003 и, надо полагать, последующих версий, некорректен.


Russ   (2006-07-17 12:09:00) [11]

>
function GetServiceUserName:string;
begin
Result:='SYSTEM';
end;
>
шутить изволите

всем спасибо разобрался


Чапаев   (2006-07-17 11:25:00) [12]


> Как из сервиса узнать имя текущего пользователя

Для XP:

function GetServiceUserName:string;
begin
 Result:='SYSTEM';
end;


isasa   (2006-07-17 11:13:00) [13]

:)
Не, ну не так все плохо. Можно начать, например, с

BOOL EnumProcesses(
 DWORD* pProcessIds,
 DWORD cb,
 DWORD* pBytesReturned
);

ну а дальше, как получится ...


Fay   (2006-07-17 10:59:00) [14]

2 Russ   (17.07.06 10:43) [3]
На данный момент работает 0 пользователей. Есть, правда, 20 терминальных сессий, и 33 сетевых клиента.
Хто нужен?


Russ   (2006-07-17 10:43:00) [15]

>Это хто такой?
пользователь который на данный момент работает в Windows


Dmitrij_K   (2006-07-17 10:40:00) [16]

Например тот, под которым работает explorer..


Fay   (2006-07-17 10:36:00) [17]

> имя текущего пользователя
Это хто такой?


Наверх

Титульная страница Поиск, карта сайта Написать письмо