Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

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 OS에서 제공하는 가장 작은 격리 단위입니다. 응용 프로그램을 실행할 때 Windows는 특정 프로세스 ID 및 기타 특성을 사용하여 응용 프로그램에 대한 프로세스를 만듭니다. 각 프로세스는 필요한 메모리와 리소스 집합으로 할당됩니다.

모든 Windows 프로세스에는 응용 프로그램 실행을 처리하는 스레드가 하나 이상 포함되어 있습니다. A 프로세스는 많은 스레드를 가질 수 있으며 실행 속도를 높이고 더 많은 응답성을 제공하지만 단일 실행 기본 스레드를 포함하는 프로세스는 스레드로부터 더 안전한 것으로 간주됩니다.

이 메서드는 확장자가 없는 파일 이름을 반환합니다(예:응용 프로그램).

예시 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

예시 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:\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.