Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.09.2015, 13:29
Mishko Mishko вне форума
Прохожий
 
Регистрация: 28.08.2015
Сообщения: 28
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию netapi32.GetCurrentUser выдает "система"

Уважаемые профи, такая проблема: в определенный момент netapi32.GetCurrentUser выдает "система", хотя пользователь "lukianov". Может кто сталкивался?
Ответить с цитированием
  #2  
Старый 10.09.2015, 19:05
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

я польщую вот такой код. Вроде, сбоев небыло:
Код:
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  
Старый 10.09.2015, 19:56
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Несколько покороче:
Код:
function GetActiveUserName: String;
begin
 Result := GetEnvironmentVariable('USERNAME');
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
Mishko (11.09.2015)
  #4  
Старый 10.09.2015, 21:57
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Честно говоря, я не помню, почему именно такой код с такими извращениями. Какие-то там подводные камни были. Кроме того, это функция из конкретного приложения, где мне надо было обязательно получить какое-нить значение, даже есть обломался вызов api.
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
Mishko (11.09.2015)
  #5  
Старый 11.09.2015, 11:24
Mishko Mishko вне форума
Прохожий
 
Регистрация: 28.08.2015
Сообщения: 28
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию

GetEnvironmentVariable('USERNAME') - выдает в конце логина символ$. Что это значит?
Ответить с цитированием
  #6  
Старый 11.09.2015, 11:28
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

А у вас какая ось и комп случаем не в домене?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
Mishko (11.09.2015)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:17.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025