Jak wykryć moment zakończenia kopiowania pliku lub folderu

Jak wykryć moment zakończenia kopiowania pliku lub folderu
mkaz
  • Rejestracja: dni
  • Ostatnio: dni
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.

GS
  • Rejestracja: dni
  • Ostatnio: dni
0

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

mkaz
  • Rejestracja: dni
  • Ostatnio: dni
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"

GS
  • Rejestracja: dni
  • Ostatnio: dni
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ć

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
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

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.