img
00:00
imgDRKB online - Как прочитать владельца файла?
imgimgimg
  Общие вопросы
  Delphi IDE, компиллятор, отладчик, редактор
  Язык программирования Дельфи
  VCL
  Системные функции и WinAPI
  Базы данных
  Работа с файловой системой
  Всё о файлах (Статья)
  Работа с NTFS
  Как прочитать владельца файла?
  Шифрование файлов при помощи NTFS функций
  Как определить, является ли диск NTFS?
  Права доступа NTFS
  Файловая система NTFS (статья)
  Учимся работать с "многопоточными файлами" в NT
  Создание hardlink и symbolic link.
  Как прочитать владельца файла?
  Шифрование файлов при помощи NTFS функций
  Как определить, является ли диск NTFS?
  Права доступа NTFS
  Файловая система NTFS (статья)
  Учимся работать с "многопоточными файлами" в NT
  Создание hardlink и symbolic link.
  Чтение и запись в файлы
  Свойства файлов
  Каталоги и подкаталоги, пути к файлам
  Файловые операции (копирование, удаление и т.п.)
  Разные вопросы
  Набор инструментов для оперирования с дисками на физическом уровне
  Репортинг, работа с принтером
  Работа с сетью, интернетом, протоколами
  Работа с графикой и мультимедиа
  Математика, алгоритмы
  Форматы файлов, данных. Конвертация форматов
  ActiveX, COM, DCOM, MIDAS, CORBA, интерфейсы, OLE, DDE
  Разработка приложений
  Kylix
  Delphi.Net
  Развлечения
  
  [drkb=2530] Комментариев: 3
Как прочитать владельца файла?


delphi
// 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.




@Drkb::03116
Взято с сайта http://www.swissdelph...ndex.php
Количество статей: 4366
 
Вход
Имя:
Пароль:
Запомнить
Регистрация Забыли пароль?
Мини-чат :)
Необходима регистрация
Архив мини-чата
29-04-2026 10:00
Roan
Есть тут кто живой?
12-03-2025 15:42
DartKane
О! Нашёл в панели управления!
12-03-2025 15:37
DartKane
Всем привет. А как поменять пароль на свой?
04-07-2024 06:46
Adler
https://gamedev....27.png
04-07-2024 06:15
Adler
yt kjubyntcm yf 'njv cfqnt: https://gamedev....903#m2
02-05-2024 16:57
Divann
никогда не видел подобного сайта, как ваш [url=http://desksoft.ru] smiley!
02-05-2024 16:57
Divann
привет
26-03-2024 15:49
Roan
Надеюсь, оно ещё живо. Классный ресурс
03-03-2024 16:34
ПаХаН
Надо чтобы этот сайт был жив
20-02-2024 06:12
memoryspeak
обалденный сайт. искал ответ на вопрос, как скриптом закрыть вкладку, и наткнулся на это чудо.
Статистика
 СегодняВсего
Посетителей1911810322
Запросов47451730588
Online
Пользователей0
Гостей16
imgimgimgimg
 
img
     00:00