![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как из сервиса узнать имя текущего пользователя [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]> имя текущего пользователя
Это хто такой?