我需要我的程序能够通过它们的名字来关闭给定的文件。我玩了一圈进程,但我意识到,我不能正确地得到进程本身。
假设我打开了一个 "Text.txt "记事本文件,我想关闭它。我试过
var processesToKill = Process.GetProcessesByName(processName);
foreach (var process in processesToKill)
{
process.Kill();
}
但得出的结论是,友好的文件名并没有任何帮助,所以。processesToKill
是空的(没有这样的过程,咄)。
所以我必须用 "记事本 "来做为 processName
但我需要程序关闭不同类型的文件打开程序(word、excel、chrome、随机.txt或.mp3文件等)。
我的问题是,有没有办法让它做到这一点,而不需要写大量的代码块来检查打开的文件是在什么进程下打开的,并通过CloseMainWindow()或类似的方法来关闭它?
抱歉,这个问题解释得比较混乱,希望没有让你太头疼。
如果你使用 ,使用语句,它将自动关闭文件,阅读后。下面只是一个例子,它是如何工作的。
String path = @"C:\Text.txt";
using (StreamReader sr = File.OpenText(path))
{
String s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}