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

Вниз

---|Ветка была без названия|---   Найти похожие ветки 

 
frost ©   (2003-11-02 20:12) [0]

Как вытащить сводку файла(папки)? Сводка вкладка котороя добавлена в свойствах файла или папки при работе в файловой системе NTFS. Спасибо.


 
A.M.D.F.   (2003-11-21 21:57) [1]

Сводка хранится в скрытом файловом потоке. Сначала узнай имя потока, например запакуй файл в Winrar с включенной опцией "сохранять файловые потоки NTFS" без компрессии, и посмотри название потока открыв архив хекс-редактором (он где то в конце).
Потом можно открывать поток функцией CreateFile как обычный файл, но в первом параметере указывать "имя_файла:имя_потока" и с помощью ReadFile и WriteFile копировать данные. Как узнать имя потока прямо из проги я уже тут спрашивал, но ничего внятного мне не ответили, так что я не знаю.


 
Бином Ньютоныч   (2003-11-22 01:26) [2]

type
TInt64 = packed record
Low, High: DWORD;
end;
TWIN32StreamID = packed record
dwStreamId: DWORD;
dwStreamAttributes: DWORD;
Size: TLargeInteger;
dwStreamNameSize: DWORD;
cStreamName: array[0..0] of WCHAR;
end;
var
StreamID: TWIN32StreamID;
BytesRead, d1, d2: Cardinal;
H: THandle;
pContext: Pointer;
s: WideString;
begin
integer(H):=FileOpen("Test.txt", fmOpenRead);
if H = INVALID_HANDLE_VALUE then RaiseLastOSError;
try
ZeroMemory(@StreamID, SizeOf(StreamID));
pContext:=nil;
while
BackupRead(H, @StreamID, SizeOf(StreamID) - SizeOf(StreamID.cStreamName),
BytesRead, false, false, pContext)
do
begin
if StreamID.Size = 0 then Break;
SetLength(s, StreamID.dwStreamNameSize shr 1);
BackupRead(H, @s[1], StreamID.dwStreamNameSize, BytesRead,
false, false, pContext);
s:=Format("ID: %d; Name: %s",[StreamID.dwStreamId, s]);
Memo1.Lines.Add(s);
BackupSeek(H, TInt64(StreamID.Size).Low, TInt64(StreamID.Size).High,
d1, d2, @pContext);
end;
BackupRead(H, nil, 0, BytesRead, true, false, pContext);
finally
CloseHandle(H);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
3-93405
dtm
2003-12-29 18:56
2004.01.29
хранение данных в виде XML в СУБД FireBird


3-93341
MagaSoft
2004-01-04 21:28
2004.01.29
Суммирование в БД Access


1-93568
Mazer
2004-01-16 14:40
2004.01.29
Корректное отображение формы, вызванной из dll...


6-93607
DelphiN!
2003-11-24 21:53
2004.01.29
Как убрать сообщения об ошибках от TServerSocket и TClientSocket


14-93656
dalamar
2004-01-08 04:12
2004.01.29
Проблема взаимодействия ADO и Access