У меня имеется список расширение которые нужно завершить ( и удалить файл )
string[] file = new string[] {"*.txt","*.exe"}; - Нужно сделать это в определённой директории:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData
Есть метод завершения процесса
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool TerminateProcess(IntPtr hProcess, int uExitCode);
static void Main(string[] args)
{
var target = Process.GetProcesses()First(p =>
p.ProcessName.IndexOf("VMWare",StringComparison.OrdinalIgnoreCase) >= 0);
TerminateProcess(target.Handle, 0);
}
Как завершить процессы из нужной мне директории ( через массив )?
Немного не понял, зачем тебе подтягивать функцию убиения процесса из WinApi, когда у процесса есть метод Kill.
По идее, функция будет выглядеть, как-то так:
static void KillProcessByPartOfPath(string partOfPath)
{
var processes = Process.GetProcesses();
foreach (var process in processes)
{
try
{
//Может произойти исключение если процесс системный
var fileName = process.MainModule.FileName;
if (fileName.IndexOf(partOfPath, StringComparison.OrdinalIgnoreCase) > 0)
{
try
{
process.Kill();
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости