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 का उपयोग करना -
एक प्रक्रिया एक ऑपरेटिंग सिस्टम अवधारणा है और यह विंडोज ओएस द्वारा प्रदान की गई अलगाव की सबसे छोटी इकाई है। जब हम कोई एप्लिकेशन चलाते हैं, तो विंडोज एक विशिष्ट प्रक्रिया आईडी और अन्य विशेषताओं के साथ एप्लिकेशन के लिए एक प्रक्रिया बनाता है। प्रत्येक प्रक्रिया को आवश्यक स्मृति और संसाधनों के सेट के साथ आवंटित किया जाता है।
प्रत्येक विंडोज़ प्रक्रिया में कम से कम एक थ्रेड होता है जो एप्लिकेशन निष्पादन का ख्याल रखता है। एक प्रक्रिया में कई धागे हो सकते हैं और वे निष्पादन को गति देते हैं और अधिक प्रतिक्रिया देते हैं लेकिन एक प्रक्रिया जिसमें निष्पादन का एक प्राथमिक धागा होता है उसे अधिक थ्रेड-सुरक्षित माना जाता है।
यह विधि एक्सटेंशन के बिना फ़ाइल नाम लौटाती है (उदा:एप्लिकेशन)।
उदाहरण 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.