نمایش نتایج 1 تا 8 از 8

نام تاپیک: چک کردن باز بودن نسخه ای از برنامه، معرفی یک برنامه برای مانیتورینگ Mutex های بانام

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    چک کردن باز بودن نسخه ای از برنامه، معرفی یک برنامه برای مانیتورینگ Mutex های بانام

    سلام.
    همون طور که می دونید با استفاده از CreateMutex می تونید کاری کنید که برنامه فقط یک بار ران بشه، به این صورت که سعی می کنید یک میوتکس بسازید و در صورت شکست یعنی قبلا برنامه ران شده. اما اگر بدون اینکه بخواهید میوتکس بسازید، فقط چک کنید ببینید که میوتکس وجود داره یا نه، چاره کار OpenMutex هست.
    اما این تابع یکم کارش نیاز به توضیح داره (بعد از کلی ور رفتن و زیر و رو کردن MSDN و مانیتور کردن میوتکس ها)
    کار این تابع اینه که چک می کنه ببینه قبلا میوتکسی با نامی که بهش می دید وجود داره یا نه، اگر وجود نداشت صفر بر می گردونه اما اگر وجود داشت،
    یک هندل جدید می سازه و به میوتکس مورد نظر اشاره می کنه و هندل رو بهتون می ده.
    این یعنی این که هندلی که CreateMutex ساخته با این هندل جدید فرق داره. و این به این معنیه که دیگه CloseHandle کردنش باعث آزاد سازی Mutex نخواهد شد.
    چاره کار چیه؟ چاره اینه که موقعی که دارید چک می کنید (با OpenMutex) هندل برگشت داده شده رو همونجا ببندید.
    انجام ندادن همین کار کوچیک یکی از سرویس های من رو خوابونده بود.

    نمونه کد برای چک کردن وجود یک میوتکس:
    function MutexExists(MutexName: PAnsiChar): boolean;
    var
    h: THandle;
    begin
    Result := false;
    try
    h := OpenMutex(STANDARD_RIGHTS_REQUIRED, false, MutexName);
    Result := h <> 0;
    finally
    try
    CloseHandle(h);
    except
    end;
    end;
    end;




    اما معرفی یک برنامه،
    برنامه
    Winobj:
    با این برنامه می تونید لیستی از میوتکس های رجیستر شده به همراه کلی اطلاعات باارزش دیگه، از جمله درایور ها و سشن ها رو داشته باشید.

    با احترام -
    فایل های ضمیمه فایل های ضمیمه
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
    پایگاه داده، تیونینگ، طراحی و پیاده سازی ..

تاپیک های مشابه

  1. سوال: چک کردن باز بودن فرم
    نوشته شده توسط fghdmhmmd در بخش C#‎‎
    پاسخ: 5
    آخرین پست: چهارشنبه 24 شهریور 1395, 13:57 عصر
  2. مدیریت کردن باز بودن 2 پورت مختلف در یک برنامه
    نوشته شده توسط nbe( amateur C sharp در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 22 خرداد 1390, 13:31 عصر
  3. عدم امکان فوکوس کردن روی پنجره اصلی در حین باز بودن popup
    نوشته شده توسط sahab555 در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: دوشنبه 05 بهمن 1388, 12:27 عصر
  4. سوال: در مورد غیر فعال کردن فریم پدردرهنگام باز بودن فریم فرزند
    نوشته شده توسط little.boy در بخش Java SE : نگارش استاندارد جاوا
    پاسخ: 2
    آخرین پست: پنج شنبه 24 بهمن 1387, 10:32 صبح
  5. یک برنامه برای باز کردن در CD ROM (مردم آزاری)بدون هیچ فرمی!
    نوشته شده توسط houshmand در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 0
    آخرین پست: چهارشنبه 18 تیر 1382, 11:36 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •