Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.09;
Скачать: CL | DM;

Вниз

Как узнать автора файла   Найти похожие ветки 

 
kserg@ukr.net   (2002-11-20 12:54) [0]

Нашел в примере как при помощи API-функции GetFileAttributesEx можно узнать полную инфо файла.
А можно узнать, кто автор файла и кто внес последнее изменение?
спасибо


 
Игорь Шевченко ©   (2002-11-20 13:30) [1]

Автор файла:
unit main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

type
ZString = array[0..1024] of char;

procedure TForm1.Button1Click(Sender: TObject);
var
SecInfo : SECURITY_INFORMATION;
SecDesc : PSECURITY_DESCRIPTOR;
BytesNeeded, Dummy : DWORD;
pSID : Pointer;
Defaulted : LongBool;
DomainName : ZString;
DomainNameLength : DWORD;
Name : ZString;
NameLength : DWORD;
Use : SID_NAME_USE;
User, Domain : String;
begin
SecInfo := OWNER_SECURITY_INFORMATION;
GetFileSecurity("FileSecurity.exe", SecInfo, nil, 0, BytesNeeded);
GetMem(SecDesc, BytesNeeded);
try
if NOT GetFileSecurity("FileSecurity.exe", SecInfo, SecDesc, BytesNeeded, Dummy) then
RaiseLastWin32Error;
if NOT GetSecurityDescriptorOwner(SecDesc, pSID, Defaulted) then
RaiseLastWin32Error;
if NOT LookupAccountSid(nil, pSID, Name, NameLength, DomainName, DomainNameLength, Use) then
RaiseLastWin32Error;
User := String(Name);
Domain := String(DomainName);
ShowMessageFmt("User = %s domain = %s", [User, Domain]);
finally
FreeMem(SecDesc);
end;
end;

end.


Время последнего изменения - GetFileTime


 
Ketmar ©   (2002-11-20 14:27) [2]

а это не владелец часом? что-то мне кажется, что владелец. каковой от автора может очень сильно отличаться.

Satanas Nobiscum! 20-Nov-XXXVII A.S.


 
Игорь Шевченко ©   (2002-11-20 14:47) [3]

Ketmar © (20.11.02 14:27)

Как это ?


 
Marcus   (2002-11-20 15:04) [4]

> Игорь Шевченко

Наврено Ketmar имеет в виду, что в ОС сем-ва НТ можно, имея администраторские права, стать владелцем объекта (закладка Св-ва->Безопасность), не будучи автором


 
Игорь Шевченко ©   (2002-11-20 15:07) [5]

Marcus (20.11.02 15:04)

Там, насколько я знаю, есть только понятие владельца. Понятие автора там отсутствует как класс. И вообще, владелец - это понятие только в NT(W2K, XP) и на NTFS, а в потребительских версиях windows и на FAT оно отсутствует.


 
Marcus   (2002-11-20 15:11) [6]

> Игорь Шевченко

Я думаю, он имеет в виду поле Автор на вкладке Сводка в win2000


 
Игорь Шевченко ©   (2002-11-20 16:21) [7]

Marcus (20.11.02 15:11)

А это вроде тоже в NTFS через дополнительный Stream у файла.
Впрочем, без автора вопроса вряд ли что-то можно определенно сказать :-)

С уважением,


 
kserg@ukr.net   (2002-11-20 18:19) [8]

>Я думаю, он имеет в виду поле Автор на вкладке Сводка в win2000
именно это я имел ввиду.


 
Marcus   (2002-11-20 18:59) [9]

Тады FindFirstStreamW / FindNextStreamW
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/findfirststreamw.asp



Страницы: 1 вся ветка

Текущий архив: 2003.01.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
6-24998
Dobriy
2002-11-10 13:52
2003.01.09
Куда посылает сигнал прокси?


14-25030
Grifon
2002-12-18 21:54
2003.01.09
Задачка


1-24864
BillyJeans
2002-12-25 14:27
2003.01.09
не пойму, что делает функция Round...


1-24891
Шурик Ш
2002-12-25 17:08
2003.01.09
Подскажите, пожалуйста, по методу StringGrid.MouseToCell


3-24819
СергейКо
2002-12-16 14:57
2003.01.09
Записи в XML таблице не удаляются