Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để lấy tên của tệp thực thi hiện tại trong C #?

Có một số cách để lấy tên của tệp thực thi hiện tại trong C #.

Sử dụng System.AppDomain -

Miền ứng dụng cung cấp sự cách ly giữa mã chạy trong các miền ứng dụng khác nhau. Miền ứng dụng là một vùng chứa hợp lý cho mã và dữ liệu giống như quy trình và có không gian bộ nhớ riêng biệt và quyền truy cập vào tài nguyên. Miền ứng dụng cũng đóng vai trò như một quy trình giống như quy trình để tránh mọi nỗ lực vô tình hoặc bất hợp pháp nhằm truy cập vào dữ liệu của một đối tượng trong một ứng dụng đang chạy từ một ứng dụng khác.

Lớp System.AppDomain cung cấp cho chúng ta các cách xử lý với miền ứng dụng. Nó cung cấp các phương pháp để tạo miền ứng dụng mới, dỡ bỏ miền khỏi memoryetc.

Phương thức này trả về tên tệp có phần mở rộng (ví dụ:Application.exe).

Ví dụ

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();
      }
   }
}

Đầu ra

Đầu ra của đoạn mã trên là

Current Executable Name: MyConsoleApp.exe

Sử dụng System.Diagnostics.Process -

Quy trình là một khái niệm hệ điều hành và nó là đơn vị cô lập nhỏ nhất được cung cấp bởi Hệ điều hành Windows. Khi chúng tôi chạy một ứng dụng, Windows sẽ tạo một quy trình cho ứng dụng với một id quy trình cụ thể và các thuộc tính khác. Mỗi quy trình được phân bổ với bộ nhớ và tập hợp tài nguyên cần thiết.

Mọi quy trình của Windows đều chứa ít nhất một luồng xử lý việc thực thi ứng dụng. Một Quy trình có thể có nhiều luồng và chúng tăng tốc độ thực thi và cung cấp nhiều phản hồi hơn nhưng một quy trình chứa một luồng thực thi chính được coi là an toàn hơn.

Phương thức này trả về tên tệp không có phần mở rộng (ví dụ:Ứng dụng).

Ví dụ 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();
      }
   }
}

Đầu ra

Đầu ra của đoạn mã trên là

Current Executable Name: MyConsoleApp

Ví dụ 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();
      }
   }
}

Đầu ra

Đầu ra của đoạn mã trên là

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.