Не удается найти фоновые процессы с GetProcesses () - PullRequest
0 голосов
/ 17 марта 2019

Я открыл 5 экземпляров приложения, которое я назвал в «Заголовке» формы1: « Hello World ».Таким образом, приложение называется «Hello World»

В TaskManager я вижу 10 фоновых процессов, работающих следующим образом: Hello World (2)Привет мир (2)Привет мир (2)Привет, мир (7)Hello World (2)

Когда я запускаю приведенный ниже код.Он находит только один экземпляр, который работает в данный момент.Другие 5 выше - это СТАРЫЕ экземпляры, которые по некоторым причинам не закрылись.Я знаю, что это могут быть фоновые процессы, которые все еще работают.

Но важный мой вопрос заключается в том, как найти те 5 процессов, в которых я хочу .Kill () их.Приведенный ниже код не находит их.Чего не хватает?

void getallprocesses()
{
    Process[] processlist = Process.GetProcesses(); String name1 = ""; String name2 = ""; String name3 = "";
    foreach (Process process in processlist)
    {
        //The 5 "Hello World" are not found in name1, name2 or name3
        name1 = process.ProcessName;
        name2 = process.MainWindowTitle;
        name3 = process.MainWindowHandle.ToString();
    }
}

В приведенном ниже коде также показан только экземпляр, который работает в данный момент, а не остальные 5:

Process[] processlist = Process.GetProcessesByName("Hello World");

1 Ответ

0 голосов
/ 17 марта 2019

Имя файла - лучший способ идентифицировать процесс.

        void getallprocesses(string path)
        {
            Process[] processlist = Process.GetProcesses();
            foreach (Process process in processlist)
            {
                try
                {
                    if (string.Compare(process.MainModule.FileName, path, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        //hit
                    }
                }
                catch
                {

                }
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...