Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
ВнизКак отследить изменения в каталоге? Найти похожие ветки
← →
DimaS (2003-07-17 13:49) [0]Как отследить изменения в каталоге? Чтобы программа узнала, когда например из другой проги удалили файл в этом каталоге.
← →
Prov (2003-07-17 14:16) [1]FindFirst
FindNext
FindClose
← →
Skier (2003-07-17 14:18) [2]DimaS © (17.07.03 13:49)
Никак
← →
Толик (2003-07-17 14:19) [3]FindFirstChangeNotification + FindNextChangeNotification + FindCloseChangeNotification + WaitForSingleObject
← →
Толик (2003-07-17 14:20) [4]to Skier © (17.07.03 14:18)
Ну это через чур категорично... :)
← →
Skier (2003-07-17 14:22) [5]>Толик © (17.07.03 14:20)
А твой вариант для какой ситуации подходит ? Любой ?
← →
Толик (2003-07-17 14:24) [6]По крайней мере для тех, которые в WinHelp"е описаны:
FILE_NOTIFY_CHANGE_FILE_NAME
FILE_NOTIFY_CHANGE_DIR_NAME
FILE_NOTIFY_CHANGE_ATTRIBUTES
FILE_NOTIFY_CHANGE_SIZE
FILE_NOTIFY_CHANGE_LAST_WRITE
FILE_NOTIFY_CHANGE_SECURITY
← →
Skier (2003-07-17 14:28) [7]>Толик © (17.07.03 14:24)
Хм...
А я так понял что для твоего варианта нужно запустить внешнее приложение из программы на Delphi (приложения автора) и ждать...
Так оно обстоит ?
← →
Толик (2003-07-17 14:30) [8]Ну ждать-то можно и в отдельном потоке. Только потом его надо прибить корректно, если ничего не удалялось.
← →
Skier (2003-07-17 14:32) [9]>Толик © (17.07.03 14:30)
Это я понял.
Но нужно запустить программу в приложении через CreateProcess
Не так ли ?
← →
Толик (2003-07-17 14:36) [10]
procedure TForm1.Button6Click(Sender: TObject);
var
h: THandle;
begin
h := FindFirstChangeNotification(pchar(ExtractFilePath(Application.ExeName)),
FALSE, FILE_NOTIFY_CHANGE_FILE_NAME);
if WaitForsingleObject(h, INFINITE) = WAIT_OBJECT_0 then
ShowMessage("for example: file deleted");
end;
Самое обычное приложение, я его запускал прямо из-под Делфей. После клика на кнопке приложение повисает до тех пор, пока не произойдут какие-то изменения в ExtractFilePath(Application.ExeName). Всё тупо до безобразия.
← →
Skier (2003-07-17 14:40) [11]>Толик © (17.07.03 14:36)
Убедил. C Толик © (17.07.03 14:20) согласен :)
← →
Толик (2003-07-17 14:42) [12]to Skier © (17.07.03 14:40)
спасибо за признание :))
← →
Skier (2003-07-17 14:44) [13]>Толик © (17.07.03 14:42)
Я проcто думал что нужен CreateProcess.
В общем : "Признаю свою вину, меру, степень, глубину !" :)
← →
panov (2003-07-17 15:47) [14]см. пример в статье на сайте.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c