Установите имя изображения и описание для процесса, используя System.Diagnostics.Process()

Как установить имя и описание изображения для процесса при использовании System.Diagnostics.Process() для запуска процесса?

Чтобы он появился в диспетчере задач Windows с нужным именем и описанием.

Например, в настоящее время я вызываю некоторое консольное приложение, как показано ниже:

    static void Main(string[] args)
    {
        int incVal = 0;

        Process[] process = null;

        try
        {
            process = new Process[Properties.Settings.Default.TargetLayers.Length];

            for (incVal = 0; incVal < Properties.Settings.Default.TargetLayers.Split(',').Length; incVal++)
            {
                process[incVal] = new Process();

                process[incVal].StartInfo.FileName = "PMSchedulerTask.exe";

                process[incVal].StartInfo.Arguments = "\"" + Properties.Settings.Default.TargetLayers.Split(',')[incVal] + "$" + Properties.Settings.Default.TableMVRelation.Split('|')[incVal] + "\"";

                process[incVal].Start();
            }

            for (incVal = 0; incVal < Properties.Settings.Default.TargetLayers.Split(',').Length; incVal++)
            {
                process[incVal].WaitForExit();
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

Теперь я хотел бы, чтобы каждый процесс отображался в диспетчере задач с другим именем изображения и описанием.


person Er. ßridy    schedule 01.07.2014    source источник
comment
возможный дубликат Set Process "имя изображения" и "описание" с С#   -  person Patrick Hofman    schedule 01.07.2014
comment
Нет, здесь нет дубликата, контекст немного другой.   -  person Er. ßridy    schedule 01.07.2014
comment
зачем это делать   -  person BRAHIM Kamel    schedule 01.07.2014
comment
Я хочу иметь один и тот же исполняемый файл с другим именем и описанием изображения, поскольку я вызываю его с родительским исполняемым файлом с разными параметрами.   -  person Er. ßridy    schedule 01.07.2014


Ответы (1)


Эти имена извлекаются диспетчером задач из исполняемого образа, из которого был запущен процесс. Нет никаких настроек, чтобы переопределить это. Windows даже не знает, что эти строки существуют. Они являются лишь частью PE-структуры исполняемого файла, используемого для запуска процесса.

Вы можете создать исполняемый файл-оболочку, если вам действительно нужно это сделать.

person usr    schedule 01.07.2014
comment
@BridewinD.P. Ну, имя образа — это имя исполняемого файла на диске, так что... да, просто переименуйте - person ta.speot.is; 02.07.2014
comment
@ta.speot.is Нет, это не сработает! Он переименует весь процесс с именем изображения PMSchedulerTask.exe в новое имя, которое было предоставлено API. Я пытаюсь иметь отдельное имя изображения для каждого процесса. - person Er. ßridy; 02.07.2014
comment
Это была шутка, потому что этот ответ и связанный ответ В основном оба говорят, что это невозможно, и вы спрашиваете, можно ли это сделать. Так что мой ответ о да! Это можно сделать! Просто переименуйте файл. - person ta.speot.is; 02.07.2014
comment
@ta.speot.is Спасибо, что позабавили меня :) - person Er. ßridy; 02.07.2014