1) non è una chat, se nessuno risponde vuol dire che nessuno sa o nessuno che sa ha letto
2) devi usare la createfile delle windows api che ti restituisce un intptr nullo se il file è loccato
ecco un esempio in c# però:
codice:public const uint GENERIC_READ = 0x80000000; public const uint GENERIC_WRITE = 0x40000000; public const uint FILE_SHARE_READ = 0x1; public const uint FILE_SHARE_WRITE = 0x2; public const uint FILE_ATTRIBUTE_NORMAL = 0x80; public const uint OPEN_EXISTING = 0x3; public const uint CREATE_ALWAYS = 0x2; [DllImport("kernel32.dll", SetLastError = true)] internal static extern IntPtr CreateFile(String lpFileName, UInt32 dwDesiredAccess, UInt32 dwShareMode, IntPtr lpSecurityAttributes, UInt32 dwCreationDisposition, UInt32 dwFlagsAndAttributes, IntPtr hTemplateFile); public static bool FileIsLocked(string FileName) { bool res = false; IntPtr hFile = CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ, IntPtr.Zero, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, IntPtr.Zero); if (hFile.ToInt32() > 0) { res = false; } else { res = true; } CloseHandle(hFile); return res; }

Rispondi quotando