Конференция "WinAPI" » Получить логин и полное имя пользователя [D7, WinXP]
 
  • oren_yastreb (11.12.12 14:52) [0]
    Добрый день!
    Есть пользователь
    логин Ivanov
    полное имя Иванов Сергей

    Мне нужно в форме в Edit выводить  Полное имя.
    Подскажите как сделать
    В инете нашел только функции которые выводят логин, а вот как получить полное имя(которе отображается если на пуск нажать) не могу найти
    Вот например

    function GetCurrentUserName: string;
    const
      cnMaxUserNameLen = 254;
    var
      sUserName: string;
      dwUserNameLen: DWORD;
    begin
      dwUserNameLen := cnMaxUserNameLen - 1;
      SetLength(sUserName, cnMaxUserNameLen);
      GetUserName(PChar(sUserName), dwUserNameLen);
      SetLength(sUserName, dwUserNameLen);
      Result := sUserName;
    end;
  • Cobalt © (11.12.12 15:45) [1]
    GetUserNameEx
  • oren_yastreb (11.12.12 16:18) [2]
    сделал так
    procedure GetUserNameEx(NameFormat: DWORD;
     lpNameBuffer: LPSTR; nSize: PULONG); stdcall;
     external 'secur32.dll' Name 'GetUserNameExA';
    function LoggedOnUserNameEx(fFormat: DWORD): string;
    var
     UserName: array[0..250] of char;
     Size: DWORD;
    begin
     Size := 250;
     GetUserNameEx(fFormat, @UserName, @Size);
     Result := UserName;
    end;

    Потом
    Edit4.Text :=LoggedOnUserNameEx(8);
    и всеравно получиил лог пользователя Ivanov
  • oren_yastreb (11.12.12 16:27) [3]
    А хотелось бы получить Иванов Сергей
  • Slym © (12.12.12 08:34) [4]
    NameDisplay = 3

    Edit4.Text :=LoggedOnUserNameEx(3);
  • Dimka Maslov © (12.12.12 13:16) [5]
    const
     NameUnknown = 0;
     NameFullyQualifiedDN = 1;
     NameSamCompatible = 2;
     NameDisplay = 3;
     NameUniqueId = 6;
     NameCanonical = 7;
     NameUserPrincipal = 8;
     NameCanonicalEx  = 9;
     NameServicePrincipal = 10;
     NameDnsDomain = 12;

    И выбираешь любой стиль отображения на свой вкус.
  • oren_yastreb (12.12.12 15:37) [6]
    Почему выводит вот кое функция ㅻ㤸㈰㤲ⵡ挵昸㐭ㅡⴲ 㐹昰㐭㝥捣㤹㤲〶紷
  • Anatoly Pogoretsky (12.12.12 17:49) [7]
    > oren_yastreb  (12.12.2012 15:37:06)  [6]

    ANSI/Unicode
  • oren_yastreb (13.12.12 06:36) [8]
    Все разобрался
    изменил тип массива
    UserName: array[0..250] of Ansichar;

    Спасибо всем за помощь!
 
Конференция "WinAPI" » Получить логин и полное имя пользователя [D7, WinXP]
Есть новые Нет новых   [134430   +2][b:0][p:0]