มีหลายวิธีในการรับชื่อของไฟล์เรียกทำงานปัจจุบันใน 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.