我需要知道某个进程是否已在运行,但我不想对其名称进行硬编码。我宁愿从*.exe
派生它,所以我进行了一些实验并创建了一个简单的控制台应用程序,我将项目属性中的程序集名称设置为foo
,然后重命名为foo.exe
到bar.exe
。我检查了正在运行的进程,确实正在运行bar
。
是否按设计进行,我可以依赖此行为,或者进程是否与exe
具有不同的名称,是否适用于所有类型的exe
文件或仅适用于.NET程序集?
答案 0 :(得分:7)
您can't change the image name的过程。这是由Windows设置的,不可更改。它将使用可执行文件的名称来设置它,因此使用它是安全的。
您可以简单地使用the assembly name from .NET:
,而不是使用该流程来获取可执行文件名称System.AppDomain.CurrentDomain.FriendlyName