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

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

Threaded View

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

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

    سلام
    تا منظورتون از زیر بار رفتن ، چی باشه . اگه منظورتون اینه که ولو اندک ، از منابع سخت افزار و نرم افزار استفاده کنه ، شما ساده ترین کد را هم اجرا کنید ، باز هم به منابع سخت افزار و نرم افزار برای اجرا نیازمند هست .
    اگه منظورتون اینه که سربار استفاده از event viewer و کلاس های مربوط بهش در سی شارپ ، از اینی که مدام در تایمر یه کدی را چک کنیم ، بیشتر یا برابر هست ، قطعا این طور نیست .
    از این دست پیام های ویندوز ، بسیار زیاد اتفاق میافته و برنامه های زیادی از پیام های ویندوز استفاده میکنند.

    -------------------------------------

    به هر حال ، میتونین از این کد استفاده کنین که از استادم (the king) گرفتم (در ویندوز 10 کار میکنه اما در ویندوزهای دیگه را نمیدونم . اگه در ویندوزهای دیگه کارنکنه ، بخاطر ویندوز هست که قابلیت UniversalTelemetryClient را نداره) :


    private System.Diagnostics.Eventing.Reader.EventLogWatcher _watcher;


    private void button1_Click(object sender, EventArgs e)
    {
    var query = new System.Diagnostics.Eventing.Reader.EventLogQuery
    ("Microsoft-Windows-UniversalTelemetryClient/Operational", System.Diagnostics.Eventing.Reader.PathType.LogNam e, "*");
    _watcher = new System.Diagnostics.Eventing.Reader.EventLogWatcher (query);
    _watcher.EventRecordWritten += Watcher_EventRecordWritten;
    _watcher.Enabled = true;
    }


    private void Watcher_EventRecordWritten(object sender, System.Diagnostics.Eventing.Reader.EventRecordWrit tenEventArgs e)
    {
    MessageBox.Show(e.EventRecord.FormatDescription()) ;
    }


    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
    _watcher?.Dispose();
    }


    در رویداد Watcher_EventRecordWritten ، میتونین برای اون مقدار ID و Message اش که گفته بودم ، شرط بذارین .
    البته دقت کنید که سرویس مروط به این کار هم در ویندوز باید فعال باشه تا کد بالا کار کنه .
    آخرین ویرایش به وسیله SajjadKhati : شنبه 20 اردیبهشت 1399 در 16:02 عصر

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

  1. بهترین راه و طراحی سیستم تلفن گویا
    نوشته شده توسط مهدی رحیم زاده در بخش C#‎‎
    پاسخ: 22
    آخرین پست: پنج شنبه 07 مهر 1390, 11:26 صبح

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

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