我有一个小“问题”窗口有一个无法杀死 csrss.exe 的系统文件,但是如果在另一个文件夹中有另一个名为 csrss.exe 的文件并且它正在运行,我该如何结束它的进程?我只知道该文件的位置和名称/大小..基本文件信息。
大声笑我用一个问题回答了我的问题.. 无论如何,我只想说我不想杀死系统文件 csrss 的进程,我想杀死恰好具有相同文件名和进程名的文件的进程。有可能吗?
我并不是说应该终止 csrss.exeProcessModule.FileName
进程,但是如果您想查找具有相同名称的特定进程,可以检查包含可执行文件完整路径的 main属性:
Process process = // Get your process here
process.Modules[0].FileName == "C:\\MyPath\csrss.exe";
如果你想结束一个基于它的进程,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();
}
}
}
谢谢,
我希望你觉得这有帮助:)