Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะรับชื่อของไฟล์เรียกทำงานปัจจุบันใน C # ได้อย่างไร


มีหลายวิธีในการรับชื่อของไฟล์เรียกทำงานปัจจุบันใน C #

การใช้ System.AppDomain

โดเมนแอปพลิเคชันให้การแยกระหว่างโค้ดที่ทำงานอยู่ในโดเมนแอปต่างๆ App Domain เป็นคอนเทนเนอร์แบบลอจิคัลสำหรับโค้ดและข้อมูล เช่นเดียวกับกระบวนการและมีพื้นที่หน่วยความจำแยกและการเข้าถึงทรัพยากร โดเมนแอปยังทำหน้าที่เป็นเหมือนกระบวนการมากมายเพื่อหลีกเลี่ยงความพยายามในการเข้าถึงข้อมูลของอ็อบเจ็กต์โดยไม่ได้ตั้งใจหรือผิดกฎหมายในแอปพลิเคชันอื่นที่ทำงานอยู่

คลาส 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 จะสร้างกระบวนการสำหรับแอปพลิเคชันที่มีรหัสกระบวนการเฉพาะและคุณลักษณะอื่นๆ แต่ละกระบวนการจะถูกจัดสรรด้วยหน่วยความจำที่จำเป็นและชุดของทรัพยากร

ทุกกระบวนการของ 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

ตัวอย่างที่ 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.