Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2024, 18:25   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию Узнать имя пользователя (проверьте на корректность функцию)

Сделал вот такую вот функцию, переделывая код с другого форума
Вопрос: корректен ли этот код, или я не учёл какие-то возможные ошибки?

Код:
Function GetWindowsCurrentUser(var s:string):boolean;
var
  w:dword;
begin
  w:=255;
  SetLength(s, w);
  If GetUserName(pChar(s), w) then begin
    SetLength(s, w-1);
    Result:=true;
  end else begin
    s:='';
    Result:=false;
  end;
end;
Kronos913 вне форума Ответить с цитированием
Старый 21.01.2024, 00:52   #2
DIONISKA
Форумчанин
 
Регистрация: 07.11.2011
Сообщений: 161
По умолчанию

Ваш код вернёт ERROR_INSUFFICIENT_BUFFER если имя будет длинной 255 символов, так как по идее максимальный размер = UNLEN(=255)+1=256. А вобще я-бы порекомендовал сделать примерно так:
Код:
function myGetUserName(var uname:string):Boolean;
var
  buff:PChar;
  sz:DWORD;
begin {исп: Winapi.Windows.GetUserName}
  sz:=0;
  GetUserName(nil, sz); //получить размер буфера
  buff:=StrAlloc(sz);
  try
    Result:=GetUserName(buff,sz);
    if Result then
      uname:=string(buff);
  finally
   StrDispose(buff);
  end;
end;
DIONISKA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать имя пользователя AppData Общие вопросы Delphi 9 02.08.2023 21:20
RDP узнать имя пользователя Darth_Vader C# (си шарп) 1 29.11.2016 16:14
Узнать ID авторизованного пользователя Евгений_Магистр БД в Delphi 4 14.03.2013 01:06
Как узнать id пользователя. Predator199 PHP 8 17.07.2012 22:23
Как узнать ip пользователя _PROGRAMM_ PHP 3 25.10.2009 01:27