c# - 使用 System.Diagnostics.Process() 为进程设置图像名称和描述

标签 c# .net winapi taskmanager

使用System.Diagnostics.Process()启动进程时,如何设置进程的Image Name和Description?

以便它以所需的名称和描述出现在 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;
        }
    }

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

最佳答案

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

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

关于c# - 使用 System.Diagnostics.Process() 为进程设置图像名称和描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24509201/

相关文章:

delphi - 了解 Delphi 中硬盘的速度有多快

.net - 在.NET中读写磁盘最快的方法是什么?

c++ - CreateCompatibleDC() 失败

.net - 如何测试现有的托管.NET .dll以查看其32位还是64位?

c# - 如何删除数据集的列?

c# - Windows.UI.ViewManagement.ApplicationView.TryUnsnap() 已过时

c# - super 大国:仅当字符串开始一行时才将字符串与分词器匹配

c# - 运行 C# exe 文件

c# - Windows 7中通过C#访问Sybase :ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

c# - 无法在 C# 中的列表中显示增量值