使用System.Diagnostics.Process()为进程设置映像名称和描述

时间:2014-07-01 11:30:59

标签: c# .net winapi taskmanager

如何在使用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;
        }
    }

现在我想让任务管理器中显示的每个进程都有不同的图像名称和描述。

1 个答案:

答案 0 :(得分:4)

这些名称由任务管理器从进程启动的可执行映像中提取。没有设置可以覆盖它。 Windows甚至不知道这些字符串存在。它们只是用于启动该过程的可执行文件的PE结构的一部分。

如果你真的需要这样做,你可以创建一个包装器可执行文件。