Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 进程名是否始终是exe的名称?_C#_.net_Windows - Fatal编程技术网

C# 进程名是否始终是exe的名称?

C# 进程名是否始终是exe的名称?,c#,.net,windows,C#,.net,Windows,我需要知道进程是否已经在运行,但我不想硬编码它的名称。我宁愿从*.exe派生它,所以我进行了一些实验并创建了一个简单的控制台应用程序,在该应用程序中,我将项目属性中的程序集名称设置为foo,然后将foo.exe重命名为bar.exe。我检查了正在运行的进程,确实是bar在运行 它是设计的,我可以依赖这种行为,还是进程可以与exe有不同的名称,它是否适用于所有类型的exe文件,还是仅适用于.NET程序集?您可以使用该进程。由Windows设置,不可更改。它将使用可执行文件的名称来设置它,因此使用它

我需要知道进程是否已经在运行,但我不想硬编码它的名称。我宁愿从
*.exe
派生它,所以我进行了一些实验并创建了一个简单的控制台应用程序,在该应用程序中,我将项目属性中的程序集名称设置为
foo
,然后将
foo.exe
重命名为
bar.exe
。我检查了正在运行的进程,确实是
bar
在运行

它是设计的,我可以依赖这种行为,还是进程可以与
exe
有不同的名称,它是否适用于所有类型的
exe
文件,还是仅适用于.NET程序集?

您可以使用该进程。由Windows设置,不可更改。它将使用可执行文件的名称来设置它,因此使用它是安全的

您可以简单地使用以下命令,而不是使用进程获取可执行文件名:


然而,
explorer.exe
在任务管理器中显示为“Windows资源管理器”打开详细信息选项卡了吗?这是真实的进程名称,而不是窗口标题或文件描述。它只向我显示
explorer.exe
。哦,我不知道它叫image name:-)事实上,我正在做一件与您链接的问题类似的事情,我正在启动workers,想知道它们是否已经在运行。@t3chb0t有比检查字符串描述符更好的选择,例如,检查您使用的任何IPC机制的状态。@PanagiotisKanavos“更好”是指更容易或更可靠?我想让根进程检查它是否可以启动特定的工作进程,而这个工作进程只知道它们的exe路径,因此现在知道exe名称等于进程名称,我就可以确定它是否已经运行,而不必硬编码任何名称。我想他们很快就不会沟通了。
System.AppDomain.CurrentDomain.FriendlyName