[Question] Überprüfen ob Datei in Benutzung ist?

08/08/2011 08:35 iXDe#1
Moin,

Gibt es in AutoIT irgendeine Möglichkeit zu überprüfen, ob die Datei 'xyz.xyz' in irgendeinem Programm geöffnet ist ? Habe bisher leider keine guten Lösungen dazu finden können.

MfG
08/08/2011 09:11 buFFy!#2
Code:
        private bool IsFileInUse(string fileName)
        {
            bool inUse = false;

            SafeFileHandle fileHandle = 
            CreateFile(fileName, FileSystemRights.Modify, 
                  FileShare.Write, IntPtr.Zero,                  
                  FileMode.OpenOrCreate, FileOptions.None, IntPtr.Zero);

            if (fileHandle.IsInvalid)
            {
               if (Marshal.GetLastWin32Error() == 
                   ERROR_SHARING_VIOLATION)
               {
     			   inUse = true;
               }           
            }
            fileHandle.Close();
            return inUse;
        }
hf beim portieren ^^
08/08/2011 09:35 First Chaos#3
Hi,
probier mal das:
oder FileOpen und die Errors überprüfen

Edit: bei dll's funktionieren glaube ich beide Methoden nicht.

First Chaos
08/08/2011 10:00 buFFy!#4
bei dlls gibts auch keinen grund das zu prüfen