4

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

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

4

2 回答 2

0

我并不是说应该终止 csrss.exeProcessModule.FileName进程,但是如果您想查找具有相同名称的特定进程,可以检查包含可执行文件完整路径的 main属性:

Process process = // Get your process here
process.Modules[0].FileName == "C:\\MyPath\csrss.exe";
于 2012-10-27T13:07:58.027 回答
0

如果你想结束一个基于它的进程,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();
          }
     }
}

谢谢,
我希望你觉得这有帮助:)

于 2012-10-27T14:37:30.017 回答