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