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.
Jak wykryć moment zakończenia kopiowania pliku lub folderu
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
nie napisałeś w jaki sposób kopiujesz i szyfrujesz plik. Wszystko zależy od zastosowanej metody
- Rejestracja: dni
- Ostatnio: dni
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"
- Rejestracja: dni
- Ostatnio: dni
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ć
- Rejestracja: dni
- Ostatnio: dni
- Postów: 6610
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
- Rejestracja: dni
- Ostatnio: dni
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.