![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Уважаемые профи, такая проблема: в определенный момент netapi32.GetCurrentUser выдает "система", хотя пользователь "lukianov". Может кто сталкивался?
|
|
#2
|
|||
|
|||
|
я польщую вот такой код. Вроде, сбоев небыло:
Код:
unction GetUserFromWindows : String;
var
UserName : String;
UserNameLen : DWORD;
begin
UserNameLen := 255;
SetLength(UserName, UserNameLen) ;
If GetUserName(PChar(UserName), UserNameLen)
Then Result := Copy(UserName,1,UserNameLen - 1)
Else Result := 'Unknown';
end; |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Mishko (11.09.2015)
| ||
|
#3
|
||||
|
||||
|
Несколько покороче:
Код:
function GetActiveUserName: String;
begin
Result := GetEnvironmentVariable('USERNAME');
end; |
| Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
Mishko (11.09.2015)
| ||
|
#4
|
|||
|
|||
|
Честно говоря, я не помню, почему именно такой код с такими извращениями. Какие-то там подводные камни были. Кроме того, это функция из конкретного приложения, где мне надо было обязательно получить какое-нить значение, даже есть обломался вызов api.
|
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Mishko (11.09.2015)
| ||
|
#5
|
|||
|
|||
|
GetEnvironmentVariable('USERNAME') - выдает в конце логина символ$. Что это значит?
|
|
#6
|
||||
|
||||
|
А у вас какая ось и комп случаем не в домене?
|
| Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
Mishko (11.09.2015)
| ||
|
#7
|
|||
|
|||
|
W7 prof, в домене companyname.local
|
|
#8
|
|||
|
|||
|
GetCurrentUser вызывается из службы. Может из-за этого, тогда как можно запустить службу программно под определенным пользователем?
![]() |