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.