删除 运行 个可执行文件
Delete running executable
我有almost the same problem
我在文件夹 c:\one 中有两个文件 a.exe,在 c:\two 中有 a.exe,两者都是 运行,但我只想删除文件在第一个文件夹
(如果不是这个条件,我可以用
foreach (var process in Process.GetProcessesByName("a.exe"))
process.Kill();
然后删除文件
)
因为 almost the same problem 是答案 RunOnce 注册表项,但我不在乎用户是否登录,我现在只想删除它。你能帮帮我吗?
听起来你好像在试图找出哪个进程对应于 a.exe 的哪个实例?
看来您可以使用 Process.MainModule.FileName
属性:
var exeToDelete = "...";
var exeProcess = Process.GetProcessesByName(Path.GetFileNameWithoutExtension(exeToDelete))
.SingleOrDefault(p => StringComparer.OrdinalIgnoreCase.Equals(p.MainModule.FileName, exeToDelete));
if (exeProcess != null) { exeProcess.Kill(); }
File.Delete(exeToDelete);
我有almost the same problem
我在文件夹 c:\one 中有两个文件 a.exe,在 c:\two 中有 a.exe,两者都是 运行,但我只想删除文件在第一个文件夹
(如果不是这个条件,我可以用
foreach (var process in Process.GetProcessesByName("a.exe"))
process.Kill();
然后删除文件 )
因为 almost the same problem 是答案 RunOnce 注册表项,但我不在乎用户是否登录,我现在只想删除它。你能帮帮我吗?
听起来你好像在试图找出哪个进程对应于 a.exe 的哪个实例?
看来您可以使用 Process.MainModule.FileName
属性:
var exeToDelete = "...";
var exeProcess = Process.GetProcessesByName(Path.GetFileNameWithoutExtension(exeToDelete))
.SingleOrDefault(p => StringComparer.OrdinalIgnoreCase.Equals(p.MainModule.FileName, exeToDelete));
if (exeProcess != null) { exeProcess.Kill(); }
File.Delete(exeToDelete);