![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Как прочитать владельца файлаDelphi , Файловая система , ФайлыАвтор: http://www.swissdelphicenter.ch // 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. Привет! Вот перевод текста на русский язык: Это фрагмент кода Delphi, который читает владельца файла с помощью функции Windows API Вот разбивка кода:
Процедура Обратите внимание, что этот код работает только на системах Windows NT-based (Windows XP, Vista, 7 и т.д.) и не на более ранних версиях, таких как Windows 95/98 или Windows Me. Чтобы использовать этот код, вам нужно:
Когда вы нажмете кнопку, она должна отобразить сообщение с именем пользователя и доменным именем владельца файла. В статье описывается функция GetFileOwner на языке Delphi, которая позволяет узнать владельца файла и домен, к которому он принадлежит. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |