C# 如何为不同的进程动态更改任务管理器中的exe名称/描述?

C# 如何为不同的进程动态更改任务管理器中的exe名称/描述?,c#,.net,C#,.net,如何为不同的进程动态更改任务管理器中的exe名称/描述 我有一个控制台exe程序(EXEConsole.exe),它将根据参数为不同的工作动态加载一些DLL 因此,我可能在任务管理器中有3个EXEConsole.exe实例,每个实例都使用不同的DLL运行。现在,通过查看任务管理器,我想知道哪个实例正在运行哪个DLL。这就是为什么我想在任务管理器中更改EXEConsole的标题/描述 我想不出怎么做,所以我有了这个想法: 当需要加载DLL时,它会将EXEConsole复制到另一个文件夹,根据DLL

如何为不同的进程动态更改任务管理器中的exe名称/描述

我有一个控制台exe程序(EXEConsole.exe),它将根据参数为不同的工作动态加载一些DLL

因此,我可能在任务管理器中有3个EXEConsole.exe实例,每个实例都使用不同的DLL运行。现在,通过查看任务管理器,我想知道哪个实例正在运行哪个DLL。这就是为什么我想在任务管理器中更改EXEConsole的标题/描述

我想不出怎么做,所以我有了这个想法:

当需要加载DLL时,它会将EXEConsole复制到另一个文件夹,根据DLL的名称(即EXEConsole_MyDLL.exe)重命名它,然后运行它。这是为了达到这个目的。但是,有没有更好的办法


谢谢

似乎没有一个好方法可以通过代码来更改它

然而,在我的情况下,我确实找到了一种解决问题的方法。以防其他人需要这样做

在任务管理器中,单击列标题,选择“选择列”,选中“命令行”。它将显示运行程序的cmd。在我的例子中,这显示了DLL名称,等等。因此,我可以知道这个进程用于哪个DLL


谢谢

看起来该描述已被烘焙到EXE()中的资源中。这篇文章指向一个名为verpatch的工具。你可以试着从那个源头探个究竟,看看它是干什么的。我知道如何设置资源(托管资源和非托管资源),但我不知道您是否可以动态地处理它们。再看看。RunDll32没有做你想做的,这对你没有任何希望你不能在运行时改变这一点:如果你用不同的命令启动它们,就像他在接受的答案中所说的,你可以显示该命令哦,或者最坏的情况是,即使它是黑客的,你可以使用不同的用户运行每个控制台,并以此为基础。(不要这样做:-P)