Jak wykryć moment zakończenia kopiowania pliku lub folderu

0

Witam, mam problem z wykryciem momentu zakończenia kopiowania pliku lub folderu na np. na kartę lub pendriva.
Moja aplikacja ma za zadanie zaszyfrować plik lub pliki w kopiowanym folderze na kartę lub pendriva gdy ten już w całości zostanie zapisany na nośniku
Byłbym wdzięczny o sugestie jak to wykonać lub jak pytać Google w tym temacie.

0

nie napisałeś w jaki sposób kopiujesz i szyfrujesz plik. Wszystko zależy od zastosowanej metody

0

Kopiuje przy pomocy systemu Windows dopiero po zakończeniu kopiowania będę szyfrowal ale jeśli plik jest duży i kopiowanie jest w toku to nie mogę rozpocząć szyfrowania. Dlatego chce wykryć moment kiedy plik lub folder zostanie zapisany do "końca"

0

pokaż kod, bez tego trudno coś doradzić
rozumiem że korzystasz z poleceń powłoki Windows ?
dlaczego nie korzystasz z funkcji dostępnych w Delphi ?? np CopyFile(), wtedy Twój problem przestanie istnieć

1

nie ma na to dobrego sposobu. Jeden z nich to próbować otworzyć plik w trybie exclusive i jak się nie uda to ponawiać za np. 100ms

2

Windows ma coś takiego jak “directory change notifications”.
https://msdn.microsoft.com/pl-pl/library/windows/desktop/aa365261(v=vs.85).aspx
Czy się nada do tego celu – nie wiem. Poczytaj co to może a czego nie.

Być może flaga FILE_NOTIFY_CHANGE_LAST_WRITE o której mowa tutaj
https://msdn.microsoft.com/pl-pl/library/windows/desktop/aa365465(v=vs.85).aspx
to jest to czego potrzebujesz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1