Я пытаюсь получить имя процесса, используя .mkv файл (vlc.exe, MPC-hc.exe и т.д.)Как я могу узнать, какой процесс файл используется
Мне уже удалось выяснить, используется ли он, но я хочу знать, какой именно процесс использует файл.
Я пробовал предложения из этого сообщения How do I find out which process is locking a file using .NET?, но просто подключаю путь к файлу, и его запуск не работает, он не показывает процессов (я могу запускать код без ошибок).
public static bool IsFileinUse(FileInfo file)
{
FileStream stream = null;
try
{
stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
}
catch (IOException)
{
//the file is unavailable because it is:
//still being written to
//or being processed by another thread
//or does not exist (has already been processed)
return true;
}
finally
{
if (stream != null)
stream.Close();
}
return false;
}
Это может помочь вам идти в правильном направлении http://stackoverflow.com/questions/958123/powershell-script-to-check-an-application- thats-locking-a-file –
http://stackoverflow.com/questions/317071/how-do-i-find-out-which-process-is-locking-a-file-using-net –
http: // stackoverflow.com/questions/860656/using-c-how-does-one-figure-out-what-process-locked-a-file –