C# 如何获取当前可执行文件的名称?

2023年 9月 22日 73.8k 0

C# 如何获取当前可执行文件的名称?

有几种方法可以在C#中获取当前可执行文件的名称。

使用System.AppDomain -

应用程序域在运行在不同应用程序域中的代码之间提供了隔离。

域。应用程序域是代码和数据的逻辑容器,就像进程和
具有独立的内存空间和资源访问。应用程序域还充当
类似边界的进程确实可以避免任何意外或非法的尝试访问
在一个运行的应用程序中,从另一个应用程序中获取对象的数据。

System.AppDomain类为我们提供了处理应用程序域的方法
提供方法来创建新的应用程序域,从内存中卸载域

此方法返回带有扩展名的文件名(例如:Application.exe)。

示例

 实时演示

using System;
namespace DemoApplication{
public class Program{
public static void Main(){
string currentExecutable =
System.AppDomain.CurrentDomain.FriendlyName;
Console.WriteLine($"Current Executable Name: {currentExecutable}");
Console.ReadLine();
}
}
}

登录后复制

输出

上述代码的输出结果为

Current Executable Name: MyConsoleApp.exe

登录后复制

使用 System.Diagnostics.Process -

进程是一个操作系统概念,它是最小的隔离单元
由Windows操作系统提供。当我们运行一个应用程序时,Windows会创建一个进程
对于具有特定进程 ID 和其他属性的应用程序。每个过程都是
分配了必要的内存和资源。

每个Windows进程至少包含一个线程,负责处理
应用程序执行。一个进程可以有多个线程,它们可以加快速度
执行并提供更高的响应性,但是一个包含单个主要进程的过程
执行线程被认为更加线程安全。

此方法返回不带扩展名的文件名(例如:Application)。

示例 1

 实时演示

using System;
namespace DemoApplication{
public class Program{
public static void Main(){
string currentExecutable =
System.Diagnostics.Process.GetCurrentProcess().ProcessName;
Console.WriteLine($"Current Executable Name: {currentExecutable}");
Console.ReadLine();
}
}
}

登录后复制

输出

上述代码的输出结果为

Current Executable Name: MyConsoleApp

登录后复制

Example 2

 演示

using System;
namespace DemoApplication{
public class Program{
public static void Main(){
string currentExecutable =
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
Console.WriteLine($"Current Executable Name: {currentExecutable}");
Console.ReadLine();
}
}
}

登录后复制

输出

上述代码的输出结果为

Current Executable Name:
C:UsersUserNamesourcereposMyConsoleAppMyConsoleAppbinDebugMyCo
nsoleApp.exe

In the above example we could see that
Process.GetCurrentProcess().MainModule.FileName returns the executable file along
with the folder.

登录后复制

以上就是C# 如何获取当前可执行文件的名称?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论