Как узнать имя залогиненого юзера?
От: Ганчиков Михаил Россия  
Дата: 23.08.05 10:04
Оценка:
Как узнать имя пользователя, который в данный момент залогинен на данной рабочей станции???
Re: Как узнать имя залогиненого юзера?
От: TarasCo  
Дата: 23.08.05 10:53
Оценка: 25 (3)
Здравствуйте, Ганчиков Михаил, Вы писали:

ГМ>Как узнать имя пользователя, который в данный момент залогинен на данной рабочей станции???


ОС???

Для Windows:

залогинено может быть несколько юзеров. Нужно вопрос уточнить: для текущего процесса/текущего десктопа/текущего сеанса?

Для процесса:
OpenProcess
OpenProcessToken
GetTokenInformation
LookupAccountSid

Или:
OpenProcess
GetSecurityInfo
LookupAccountSid

Для сессии:
OpenWindowStation
GetSecurityInfo
LookupAccountSid

Для рабочего стола:
OpenDesktop
GetSecurityInfo
LookupAccountSid

Дескриптор текушего процесса:
GetCurrentProcess ( вместо OpenProcess )

Дескриптр текущего сеанса:
GetProcessWindowStation

Перечислить пользователей, использующих сетевые ресурсы:
NetConnectionEnum

Узнать от чьего имени установлено соединене с сетевым ресурсом:
WNetGetUser
Да пребудет с тобою сила
Re[2]: Проблемы с функцией GetSecurityInfo
От: Ганчиков Михаил Россия  
Дата: 23.08.05 12:35
Оценка:
При попытке вызова функции GetSecurityInfo выдается ошибка:
[C++ Error] aclapi.h(102): E2015 Ambiguity between 'PACCESS_MASK' and 'Windows::PACCESS_MASK'

Я так понимаю, это конфликт одинаково объявленных типов в разных заголовочниках и нужно явно указать компилятору, откуда берется именно нужный мне тип, а как это сделать???
Re[3]: Вернее, проблема с заголовочником aclapi.h
От: Ганчиков Михаил Россия  
Дата: 23.08.05 12:39
Оценка:
Ступил, пардон, проблема с самим заголовочником, он у меня объявлен в заголовочнике моего класса...
Re[4]: Вернее, проблема с заголовочником aclapi.h
От: Ганчиков Михаил Россия  
Дата: 23.08.05 13:44
Оценка:
Здравствуйте, Ганчиков Михаил, Вы писали:

Народ, подскажите, где объявлять заголовочник, чтобы компайлер не ругался???
Re[2]: Как узнать имя залогиненого юзера?
От: Ганчиков Михаил Россия  
Дата: 23.08.05 13:55
Оценка:
Здравствуйте, TarasCo, Вы писали:

TC>Дескриптр текущего сеанса:

TC>GetProcessWindowStation
TC>GetSecurityInfo
TC>LookupAccountSid

Для части из этих функций требуется библиотека Aclapi.h
Когда я включаю ее в заголовочник моего класса, при компиляции вылезает следующее:
[C++ Error] aclapi.h(102): E2015 Ambiguity between 'PACCESS_MASK' and 'Windows::PACCESS_MASK'

Как разрешить конфликт?
Re[2]: Как узнать имя залогиненого юзера?
От: mike124  
Дата: 24.08.05 08:46
Оценка:
В Винде есть еще маленькая и хорошенькая функция Netbios. Опрашивая с ее помощью сетевой адаптер можно узнать имя залогиненного пользователя, а также имя компа, домена, МАС-адрес и т.д. и т.п.
Re[3]: Как узнать имя залогиненого юзера?
От: Ганчиков Михаил Россия  
Дата: 24.08.05 08:52
Оценка:
Здравствуйте, mike124, Вы писали:

M>В Винде есть еще маленькая и хорошенькая функция Netbios. Опрашивая с ее помощью сетевой адаптер можно узнать имя залогиненного пользователя, а также имя компа, домена, МАС-адрес и т.д. и т.п.


в структуре NCB, а какой это параметр — ncb_name?
Re: Как узнать имя залогиненого юзера?
От: Ганчиков Михаил Россия  
Дата: 24.08.05 08:53
Оценка:
А если мне нужно вообще узнать всю инфу по юзеру, может не не париться и использовать Active Directory services API???
Re[3]: Как узнать имя залогиненого юзера?
От: KaBoom Чехия  
Дата: 26.08.05 09:38
Оценка:
Здравствуйте, Ганчиков Михаил, Вы писали:

ГМ>Для части из этих функций требуется библиотека Aclapi.h

ГМ>Когда я включаю ее в заголовочник моего класса, при компиляции вылезает следующее:
ГМ>[C++ Error] aclapi.h(102): E2015 Ambiguity between 'PACCESS_MASK' and 'Windows::PACCESS_MASK'

ГМ>Как разрешить конфликт?


Указать явно, какой из PACCESS_MASK тебе нужен. Windows::PACCSESS_MASK или Aclapi::PACCESS_MASK
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.