我有一个小的“问题”窗口,其中包含一个无法杀死csrss.exe的系统文件,但是如果在另一个文件夹中还有另一个名为csrss.exe的文件并且该文件正在运行,我如何结束其进程?我只知道文件的位置和名称/大小。基本文件信息。

大声笑我用一个问题回答了我的问题。无论如何,我只是想说我不想杀死系统文件csrss的进程,我想杀死恰好具有相同文件名和进程名称的文件的进程。有可能吗?

最佳答案

如果您想根据其FileInfo(例如大小/属性/等)结束进程,则可以!这是一个简单的例子



int FileSize = 0; //This belongs to the process you would like to terminate
//Create the process csrss for every process with the name csrss
foreach (Process csrss in Process.GetProcessesByName("csrss"))
{
     FileInfo csrssFile = new FileInfo(csrss.StartInfo.FileName); //Get the properties of its file name
     if (csrssFile.Length == FileSize)
     {
         csrss.Kill(); //Terminate the process based on its file length (size)
     }

}


另一个例子

int FileSize = 0;
Process[] RunningProcesses = Process.GetProcesses();
foreach (Process csrss in RunningProcesses)
{
     if (csrss.ProcessName == "csrss")
     {
          FileInfo csrssFile = new FileInfo(csrss.StartInfo.FileName);
          if (csrssFile.Length == FileSize)
          {
               csrss.Kill();
          }
     }
}


谢谢,
我希望这个对你有用 :)

09-25 21:37