フォルダーc:\ oneにa.exeとc:\ twoにa.exeの2つのファイルがあり、両方とも実行されていますが、最初のフォルダーにあるファイルのみを削除したい
(この状態でない場合は、使用できます
foreach (var process in Process.GetProcessesByName("a.exe"))
process.Kill();
その後、ファイルを削除します)
以下のために、ほぼ同じ問題解答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);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加