![]() |
![]() ![]() ![]() ![]() |
|
Как прочитать владельца файла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 | ||||