有几种方法可以在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)。
实时演示
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
演示
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:\Users\UserName\source\repos\MyConsoleApp\MyConsoleApp\bin\Debug\MyCo nsoleApp.exe In the above example we could see that Process.GetCurrentProcess().MainModule.FileName returns the executable file along with the folder.
以上是C# 如何获取当前可执行文件的名称?的详细内容。更多信息请关注PHP中文网其他相关文章!