Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как прочитать владельца файла?

01.01.2007
// When you create a file or directory, you become the owner of it. 
// With GetFileOwner you get the owner of a file. 
 
function GetFileOwner(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.

Взято с сайта https://www.swissdelphicenter.ch/en/tipsindex.php