我已经通过命令行启动ExifTool
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "exiftool.exe";
startInfo.Arguments = "-m -stay_open True -@ " + tempDirectory + "\\commands.txt";
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
Process processTemp = new Process();
processTemp.StartInfo = startInfo;
processTemp.EnableRaisingEvents = true;
processTemp.Start();
我正在将args写入文件commands.txt
在尝试再次启动该程序时(在程序重新启动时),exiftool仍然打开,并且我不断收到此异常消息
该进程无法访问文件'C:\ Users \ Vyshak \ AppData \ Local \ Temp \ myprog \ commands.txt',因为该文件正在被另一个进程使用
因此,我尝试终止exiftool
进程(也尝试不使用.exe)
foreach (var process in Process.GetProcessesByName("exiftool.exe"))
{
process.Kill();
}
但是循环永远不会被打到。我还与进程资源管理器进行了检查,以确认什么锁定了文件。另外,我在任务管理器中找不到exiftool。