Завершить процессы из папки AppData

250
04 января 2018, 20:31

У меня имеется список расширение которые нужно завершить ( и удалить файл )

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);
}

Как завершить процессы из нужной мне директории ( через массив )?

Answer 1

Немного не понял, зачем тебе подтягивать функцию убиения процесса из 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);
                }
            }
        }
READ ALSO
TextBoxPlaceholder XAML WPF

TextBoxPlaceholder XAML WPF

Привет всемКак то я столкнулся с необходимостью сделать placeholder в textbox на wpf

260
UWP C# Как считать часть файла?

UWP C# Как считать часть файла?

Нужно считать, например, один символ или строку до разделителяПодскажите, как это сделать?

220
Как убрать класс из подсказок Resharper'а?

Как убрать класс из подсказок Resharper'а?

Иногда когда я пишу код в реализации репозитория мне Resharper предлагает на выбор одноимённый класс из папки Migration:

207