Получить имя текущего пользователя 2Delphi , ОС и Железо , КомпьютерПолучить имя текущего пользователя 2
Оформил: DeeCo function GetCurrentUserName(var CurrentUserName: string): Boolean; var BufferSize: DWORD; pUser: PChar; begin BufferSize := 0; GetUserName(nil, BufferSize); pUser := StrAlloc(BufferSize); try Result := GetUserName(pUser, BufferSize); CurrentUserName := StrPas(pUser); finally StrDispose(pUser); end; end; procedure TForm1.Button1Click(Sender: TObject); var CurrentUserName: string; begin GetCurrentUserName(CurrentUserName); Label1.Caption := CurrentUserName; end; {*********************************************} { Windows NT/2000/XP: The GetUserNameEx function retrieves the name of the user or other security principal associated with the calling thread. You can specify the format of the returned name. If the thread is impersonating a client, GetUserNameEx returns the name of the client. } const NameUnknown = 0; // Unknown name type. NameFullyQualifiedDN = 1; // Fully qualified distinguished name NameSamCompatible = 2; // Windows NT® 4.0 account name NameDisplay = 3; // A "friendly" display name NameUniqueId = 6; // GUID string that the IIDFromString function returns NameCanonical = 7; // Complete canonical name NameUserPrincipal = 8; // User principal name NameCanonicalEx = 9; NameServicePrincipal = 10; // Generalized service principal name DNSDomainName = 11; // DNS domain name, plus the user name 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; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := LoggedOnUserNameEx(NameSamCompatible); end; Программа на Delphi, которая извлекает текущее имя пользователя и отображает его в лейбле на форме. Описание работы кода:
Вторая часть кода - это обработчик события формы для клика кнопки. Когда кнопка нажата, она вызывает функцию Альтернативное решение использует функцию Описание работы кода:
Обработчик события формы для клика кнопки в этом коде присваивает полученное имя пользователю редактируемому контроллу на форме. Замечание, что вторая часть кода использует другой подход для извлечения текущего имени пользователя и требует более конкретного параметра формата, в то время как первая часть кода более общая и может возвращать имя пользователя в различных форматах. Получение имени текущего пользователя в Delphi на основе функции GetUserName и GetUserNameEx для различных форматов именования безопасности. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |