Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
// When you create a file or directory, you become the owner of it. // With GetFileOwner you get the owner of a file. functionGetFileOwner(FileName: string
; var
Domain, Username: string
): Boolean; var
SecDescr: PSecurityDescriptor; SizeNeeded, SizeNeeded2: DWORD; OwnerSID: PSID; OwnerDefault: BOOL; OwnerName, DomainName: PChar; OwnerType: SID_NAME_USE; begin
GetFileOwner := False; GetMem(SecDescr, 1024); GetMem(OwnerSID, SizeOf(PSID)); GetMem(OwnerName, 1024); GetMem(DomainName, 1024); try
if
not
GetFileSecurity(PChar(FileName), OWNER_SECURITY_INFORMATION, SecDescr, 1024, SizeNeeded) then
Exit; if
not
GetSecurityDescriptorOwner(SecDescr, OwnerSID, OwnerDefault) then
Exit; SizeNeeded := 1024; SizeNeeded2 := 1024; if
not
LookupAccountSID(nil
, OwnerSID, OwnerName, SizeNeeded, DomainName, SizeNeeded2, OwnerType) then
Exit; Domain := DomainName; Username := OwnerName; finally
FreeMem(SecDescr); FreeMem(OwnerName); FreeMem(DomainName); end
; GetFileOwner := True; end
; procedure
TForm1.Button1Click(Sender: TObject); var
Domain, Username: string
; begin
GetFileOwner('YourFile.xyz', domain, username); ShowMessage(username + '@' + domain); end
; // Note: Only works unter NT.