Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Слежка за файлом. C++

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Слежка за файлом. C++
Имя
Сообщение << Старые топики   Новые топики >>
Слежка за файлом. C++ - 2007-10-04 22:38:47.193333   
Logree

Сообщений: 77
Оценки: 0
Присоединился: 2006-11-16 17:14:16.653333
Мне нужна прога на С++ которая бы отслеживала не изменилась ли дата изменения обычного txtшного файда… ну или каким нибудь други способом отслеживала не изменилась ли в нём информащия… если кто может написать код пишите если времени совсем нет хоть функции котороые могут помочь подскажите…
Post #: 1
RE: Слежка за файлом. C++ - 2007-10-04 23:16:54.220000   
Inspektor

Сообщений: 143
Оценки: 0
Присоединился: 2007-08-31 11:37:20.710000
Дай угадаю, это функция GetFileTime! Код только если завтра, сейчас уже спать пойду:D.
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; void main() { &nbsp;&nbsp;&nbsp; char chFileName[256]; &nbsp;&nbsp;&nbsp; HANDLE hFile; &nbsp;&nbsp;&nbsp; printf("Enter file name: "); &nbsp;&nbsp;&nbsp; scanf("%s",chFileName); &nbsp;&nbsp;&nbsp; hFile=CreateFile(chFileName,0,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);//открыть файл &nbsp;&nbsp;&nbsp; if(hFile==INVALID_HANDLE_VALUE)//если не открылся... &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; printf("It was not possible to open a file\nPress any key\n"); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getch(); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; CloseHandle(hFile); &nbsp;&nbsp;&nbsp; SYSTEMTIME Date,LocalDate; &nbsp;&nbsp;&nbsp; FILETIME LastWriteFile; &nbsp;&nbsp;&nbsp; GetFileTime(hFile,0,0,&amp;LastWriteFile);//время "по мелкософту" &nbsp;&nbsp;&nbsp; FileTimeToSystemTime(&amp;LastWriteFile,&amp;Date);//переводим в нормальное &nbsp;&nbsp;&nbsp; SystemTimeToTzSpecificLocalTime(NULL,&amp;Date,&amp;LocalDate);//корректируем по часовому поясу &nbsp;&nbsp;&nbsp; printf("%02d.%02d.%d: %02d.%02d.%02d\nPress any key\n",LocalDate.wDay,LocalDate.wMonth,LocalDate.wYear,LocalDate.wHour,LocalDate.wMinute,LocalDate.wSecond); &nbsp;&nbsp;&nbsp; getch(); } Ну как-то так=) Только в проге проверяй правильность выполнения всех функций, а не только открытия файла. Ещё по теме могу посоветовать книгу Румянцева "Румянцев Работа с файлами в WIN 32".
Post #: 2
RE: Слежка за файлом. C++ - 2007-10-07 13:23:49.143333   
Logree

Сообщений: 77
Оценки: 0
Присоединился: 2006-11-16 17:14:16.653333
Спасибо..
quote:

Ещё по теме могу посоветовать книгу Румянцева "Румянцев Работа с файлами в WIN 32".
а за это отдельное спасибо :-)
Post #: 3
RE: Слежка за файлом. C++ - 2007-10-07 17:47:11.453333   
int21h

Сообщений: 105
Оценки: 0
Присоединился: 2007-08-25 12:05:16.730000
Нужно писать драйвер , чтоб было как у Марка Русиновича в FileMon'е
Post #: 4
RE: Слежка за файлом. C++ - 2007-10-07 17:57:30.690000   
blacksun

Сообщений: 2360
Оценки: 0
Присоединился: 2006-09-27 03:05:59.350000

quote:

ORIGINAL: int21h

Нужно писать драйвер , чтоб было как у Марка Русиновича в FileMon'е

Делать те нех, просто отслежывать дату можно и юзая GetFileTime ..
Post #: 5
RE: Слежка за файлом. C++ - 2007-10-07 18:05:55.686666   
Inspektor

Сообщений: 143
Оценки: 0
Присоединился: 2007-08-31 11:37:20.710000
quote:

Спасибо..

Пожалуйста.
quote:

Нужно писать драйвер , чтоб было как у Марка Русиновича в FileMon'е

Ну ты загнул:D:D:D. Чтоб проследить за одним файлом писать драйвер- глупо и не логично. Тут можно создать точную копию файла и сверять её с оригиналом каждые n-секунд(точность в определении времени конечно будет страдать). А ещё можно отлавливать открытие файла(как перехватом функций, так и поиском соответствующего хендла).
Но я уверен, что если человек задал такой вопрос, то он при всём желании пока не сможет вылезти не то, что из usermode'а, но и за пределы хорошо документированной части windows.
Post #: 6
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Слежка за файлом. C++







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.