پنهان سازی پنجره کنسول در ویندوز با استفاده از سی شارپ

این کد به زبان C# نوشته شده و یک ابزار کوچک برای پنهان کردن پنجره کنسول در برنامه‌های ویندوز است. در این کد با یک روش بسیار ساده پنهان سازی پنجره کنسول انجام...

انتشار: , زمان مطالعه: 2 دقیقه
پنهان سازی پنجره کنسول در ویندوز با استفاده از سی شارپ
دسته بندی: برنامه نویسی تعداد بازدید: 298

پنهان سازی پنجره کنسول در ویندوز با استفاده از سی شارپ

این کد به زبان C# نوشته شده و یک ابزار کوچک برای پنهان کردن پنجره کنسول در برنامه‌های ویندوز است. در این کد با یک روش بسیار ساده پنهان سازی پنجره کنسول انجام شده است.این کد نمونه‌ای از نحوه استفاده از توابع API ویندوز در زبان C# است تا امکان پنهان‌سازی پنجره‌های کنسولی را فراهم کند. این یک روش مفید برای برنامه‌نویسانی است که می‌خواهند رابط کاربری برنامه‌های کنسولی خود را سفارشی‌سازی کنند.

کد پنهان سازی پنجره کنسول در ویندوزی با استفاده از سی شارپ

using System;
using System.Diagnostics;
using System.Reflection.Metadata;
using System.Runtime.InteropServices;

// Programmer: Ebrahim Shafiei (EbraSha)
class AbdalSecurityGroup
{
    #region Hide Windows

    [DllImport("kernel32.dll")]
    static extern IntPtr GetConsoleWindow();

    [DllImport("user32.dll")]
    static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

    const int SW_HIDE = 0;
    const int SW_SHOW = 5;

    #endregion

    static void Main()
    {
        var handle = GetConsoleWindow();
        ShowWindow(handle, SW_HIDE);

        Console.ReadLine();
    }
}

تحلیل کد:

فضاهای نام مورد استفاده:

  • System: شامل کلاس‌های پایه برای انواع داده‌های اصلی و عملکردهای سیستمی.
  • System.Diagnostics: برای دسترسی به ابزارهای مربوط به عیب‌یابی و اجرای فرآیندها.
  • System.Reflection.Metadata: این فضای نام معمولاً برای کار با متادیتاهای مربوط به انعکاس در .NET به کار می‌رود، اما در این کد خاص استفاده نشده است.
  • System.Runtime.InteropServices: برای مدیریت تعاملات بین کد منیر و API‌های سطح پایین ویندوز.

بخش‌های اصلی کد:

  1. تعریف کلاس AbdalSecurityGroup:

    • این کلاس حاوی تمام منطق برنامه است.
  2. منطقه پنهان سازی پنجره (Hide Windows):

    • از دو تابع از کتابخانه‌های ویندوز (kernel32.dll و user32.dll) استفاده می‌کند.
    • GetConsoleWindow: برای گرفتن دستگیره (handle) پنجره کنسول فعال.
    • ShowWindow: برای کنترل نمایش یا پنهان‌سازی پنجره با استفاده از دستگیره آن.
  3. تابع Main:

    • دریافت دستگیره پنجره کنسول فعال.
    • پنهان کردن پنجره با استفاده از تابع ShowWindow و مقدار SW_HIDE.
    • Console.ReadLine(): این خط باعث می‌شود برنامه تا زمانی که کاربر یک کلید را فشار ندهد، اجرا شود.

کاربردها و موارد استفاده:

این کد می‌تواند در موقعیت‌هایی که نیاز است یک برنامه کنسولی بدون نمایش پنجره کنسول اجرا شود، مفید باشد. برای مثال، در مواقعی که یک فرآیند پس‌زمینه باید بدون توجه کاربر اجرا شود.


دیدگاه های مربوط به این مقاله (برای ارسال دیدگاه در سایت حتما باید عضو باشید و پروفایل کاربری شما تکمیل شده باشد)