سلامی مجدد
وقت تون بخیر.
اگه میخواین از رویدادهای سیستم عامل استفاده کنین ، به نظرم بهترین روش ، همینی هه که از رویدادهای event viewer که طیف بسیار وسیعی از رویدادهای انواع سخت افزارها و نرم افزارها را پوشش میده ، استفاده کنید .
کلاس EventLogWatcher در دات نت ، کلاسی برای تعامل با event viewer ویندوز هست :
https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.eventing.reader.eventlogwatcher ?view=dotnet-plat-ext-3.1
البته کلاس EventLog هم هست ولی به نظر میاد که کلاس EventLogWatcher کامل تر باشه . که کد مربوطه را در پست قبلی دادم.
برای مطلع شدن از رویداد سیستم عامل ، به شخصه استفاده از تایمر و مدام چک کردنِ اینکه آیا یک مسئله ای اتفاق افتاده یا نه را ترجیح نمیدم . کمترین دلیلش ، علاوه بر اصولی نبودن ، سربار ایجاد کردن اضافی برای پردازنده ی کاربر هست (مخصوصا اگه پردازنده ی کاربر ضعیف باشه یا زمان interval در تایمر ، خیلی کم باشه) .
به نظرم بهترین روش برای متوجه شدن یک رویداد سیستم عامل ، استفاده از همین قضیه ی event viewer هست .
خوب این که سخت نیست .
همونطور که گفته شد ، کلاس EventLogWatcher برای این کار هست .
برای استفاده از این کلاس ، مشکل یا سئوالی دارین؟
بسیار ساده هست . کدی که در پست قبلی دادم را نگاه کنید . جای سختی چندان نداره .