Glupo je i razgovarati o ovome, jer je kopiranje datoteke moguce izvrsiti ne 1 000 nacina... Tako da i ako bi uspeli da pratimo kada neka aplikacija poziva
Code:
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
ili
Public Declare Function CopyFileEx Lib "kernel32.dll" Alias "CopyFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal lpProgressRoutine As Long, lpData As Any, ByRef pbCancel As Long, ByVal dwCopyFlags As Long) As Long
, posto verujem da explorer koristi ove f-je, uvek nesto moze da se kopra bajt po bajt i tako zezne tu koncepciju... A uz to i neki vrlo poznati programi za file managment ne koriste te f-je (pr. Total Commander).
Znaci da je jedino resenje da se stalno pretrazuje hard disk za tom datotekom. Sto znaci FindFile
Code:
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
non-stop, sto bi toliko usporilo racunar da na njemu ne bi bio moguc rad.
Ali je moguce (bar u teoriji, i ne bi bilo 100% efikasno jer uvek moze da se desi da neko izvuce stik iz usb-a, a da program jos ne stigne da pretrazi isti)